登录
首页 >  文章 >  php教程

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

时间:2025-01-18 17:16:05 127浏览 收藏

积累知识,胜过积蓄金银!毕竟在文章开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《如何使用 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》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>