Vagrant LocalTunnel 和 ServerAlias 不工作

Vagrant LocalTunnel and ServerAlias not working

我有一个用于开发应用程序的本地 Vagrant VM。我厌倦了使用 Vagrant Share 提供 public urls 因为它总是断开连接,所以我安装了 localtunnel.me

我遇到的问题是我的 Apache headers 正在显示本地配置,这是一个问题。当我通过 localtunnel.me url 访问我的应用程序时,我需要 $_SERVER['HTTP_HOST'] 之类的东西来读取 "myproject.localtunnel.me" 而不是 "myproject.local".

我已将 public localtunnel.me 域添加到 Apache 的 ServerAlias 配置并重新加载 Apache。当我启动 lt 时:

lt -p 80 -s myproject -l myproject.localtunnel.me 

然后我在导航到我的项目时收到 504 网关超时。localtunnel.me

如果我这样做:

lt -p 80 -s myproject -l myproject.local 

当我转到 http://myproject.localtunnel.me 时,phpinfo() 显示 $_SERVER['HTTP_HOST'] == "myproject.local".

这会中断我与其他 webhook 和 API 服务的许多连接,因为 headers 与 URL 不匹配。

关于如何克服这个问题的任何想法(除了 ngrok,它似乎比 运行 更耗费资源)。

事实证明,LocalTunnel 的工作方式与 Vagrant Share 略有不同。

为了完成这项工作:

lt -p 80 -s myproject -l myproject.localtunnel.me 

您需要将 myproject.localtunnel.me 添加到站点的 conf 文件(我有)中的 ServerAlias 行。

但您还需要将它添加到您的 Vagrant 主机文件中:

127.0.1.1 myproject.localtunnel.me

没有主机条目导致 504 错误。

希望这对其他人有帮助。