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

首页 编程分享 PHP丨JAVA丨OTHER 正文

花韻仙語 转载 编程分享 2025-01-03 21:20:18

简介 本文介绍如何在Traefik反向代理下,将Laravel应用部署到子文件夹中。假设:Traefik已安装并配置了HTTP和HTTPS入口点,Laravel应用部署在/app子文件夹,Traefik和Laravel使用名为traefik的外部网络。修改docker-compose.yml文件如下:services:app:image:your-app-image#替换为你的应用镜像#...其他配置...networks:-traefiklabels:-traefik.enable=true-tra


本文介绍如何在 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


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云