首页 >后端开发 >php教程 >如何使用 Traefik 在子文件夹中设置 Laravel

如何使用 Traefik 在子文件夹中设置 Laravel

Linda Hamilton
Linda Hamilton原创
2025-01-04 05:31:391038浏览

How to Set Up Laravel in a Subfolder Using Traefik

以下是如何使用 Traefik 在子文件夹中运行 Laravel。让我们考虑一下这种情况:

  • Traefik 已经安装了入口点 http 和 https。
  • Laravel 将安装在 /app 子文件夹中。
  • Traefik 和 Laravel 将使用名为 traefik 的外部网络。

编辑 docker-compose.yml 如下:

services:
  app:
    image: your-app-image

    # ...the rest of the configuration

    networks:
      - traefik
    labels:
      - traefik.enable=true
      - traefik.docker.network=traefik
      - traefik.constraint-label=traefik

      - traefik.http.middlewares.app-strip.stripprefix.prefixes=/app

      # HTTP entrypoint
      - traefik.http.routers.app-http.entrypoints=http
      - traefik.http.routers.app-http.rule=Host(`your-app-domain.com`) && PathPrefix(`/app`)
      - traefik.http.routers.app-http.middlewares=https-redirect,app-strip

      # HTTPS  entrypoint
      - traefik.http.routers.app-https.entrypoints=https
      - traefik.http.routers.app-https.rule=Host(`your-app-domain.com`) && PathPrefix(`/app`)
      - traefik.http.routers.app-https.tls=true
      - traefik.http.routers.app-https.middlewares=app-strip

networks:
  traefik:
    external: true

编辑 .env 并在 APP_URL 中设置子文件夹。

APP_URL=https://your-app-domain.com/app

# ...the rest of the configuration

编辑 app/Http/Middleware/TrustProxies.php 并确保允许所有代理让 Laravel 生成 HTTPS URL。

始终使用 url()、route() 等 URL 帮助器来生成完整的 URL,包括子文件夹路径。

就是这样!现在您可以使用 docker compose up -d 运行您的 compose 文件并通过子文件夹访问您的 Laravel 应用程序。

以上是如何使用 Traefik 在子文件夹中设置 Laravel的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn