2025-01-03

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

如何使用 traefik 在子文件夹中设置 laravel

本文介绍如何在 Traefik 反向代理下,将 Laravel 应用部署到子文件夹中。 假设:Traefik 已安装并配置了 HTTP 和 HTTPS 入口点,Laravel 应用部署在 /app 子文件夹,Traefik 和 Laravel 使用名为 traefik 的外部网络。

修改 docker-compose.yml 文件如下:

services:
  app:
    image: your-app-image  # 替换为你的应用镜像

    # ... 其他配置 ...

    networks:
      - traefik
    labels:
      - traefik.enable=true
      - traefik.docker.network=traefik
      - traefik.constraint-label=traefik
      - traefik.http.middlewares.app-strip.stripprefix.prefixes=/app
      - 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
      - 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

# ... 其他配置 ...
登录后复制

修改 app/http/middleware/trustproxies.php,确保允许所有代理,以便 Laravel 正确生成 HTTPS URL。

务必使用 Laravel 的 URL 辅助函数 (如 url(), route() 等) 生成完整的 URL,包含子文件夹路径。

最后,使用 docker compose up -d 命令启动应用。 通过 your-app-domain.com/app 访问你的 Laravel 应用。

以上就是如何使用 Traefik 在子文件夹中设置 Laravel的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1168960.html

发表回复

Your email address will not be published. Required fields are marked *