本文介绍如何在 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中文网其它相关文章!