gpt4 book ai didi

laravel - link_to 从容器中托管的站点中剥离端口

转载 作者:行者123 更新时间:2023-12-02 18:42:15 25 4
gpt4 key购买 nike

这是一个有点棘手的情况。我正在测试我最近容器化的 Laravel 应用程序的部署。我制作了一个基于 php 的容器,它在自身内部运行 Apache 来为应用程序提供服务。如果我只是运行这个容器,绑定(bind)到端口 5000,那么 link_to('/login')正确生成指向 localhost:5000/login 的链接.

然而,现在我正在测试一个实际的部署场景,这个容器在 nginx 负载均衡器后面运行。我使用 Vagrant 设置了一个 VM,它运行两个容器:一个用于 nginx 负载均衡器,一个用于 Apache/Laravel 应用程序。我在主机的端口 7000 上访问虚拟机的端口 80。

在这种情况下,link_to('/login')现在生成指向 localhost/login 的链接.港口哪里失踪了?它应该链接到 localhost:7000/login ,因为那是我访问页面的端口。

我该如何调试呢?我试过研究 link_to 的实现,但我怀疑问题出在其他地方。

编辑

此外,我刚刚发现,如果我通过 HTTPS(在 nginx 终止;Apache 仍然通过 HTTP 完成所有操作)为站点提供服务,那么这也会从 link_to 创建的链接中删除。 .而不是 https://localhost:7443/login ,链接看起来像 localhost/login .

最佳答案

解决方案是使用类似 fideloper/proxy正确处理 Nginx 添加的代理 header 。我以为我已经这样做了,但我忘记将外观添加到 app/config/app.php .

关于laravel - link_to 从容器中托管的站点中剥离端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33536386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com