NGrok和Laravel

15

我想使用NGROK将我本地的Laravel网站部署到线上。我使用带有Apache服务器的Laragon,我使用以下命令:

ngrok http -host-header=rewrite site.dev:80

它几乎可以工作,但是资产文件(例如CSS / Image)仍然链接到我的本地服务器(site.dev)。而且对于我的链接也是如此,laravel路由命令:{{ route('ngo') }}返回site.dev/ngo而不是我的在线隧道(http://number.ngrok.io/ngo

我尝试过:

编辑http.conf (https://forum.laragon.org/topic/88/allow-outside-other-devices-phones-tablets-to-access-your-local-server-using-ngrok)

更改config/app.php中的Laravel应用程序网址

更改.env文件中的网址

没有任何作用

2个回答

28

我刚刚遇到了这个问题,但我也找到了解决方法:

运行ngrok命令时不要带上-host-header=rewrite部分,改为以下命令:

ngrok http site.dev:80

然后,在http.conf文件中添加ngrok域名作为服务器别名。例如:

ServerAlias nd3428do.ngrok.io

问题在于Laravel的route辅助函数使用HOST头,它被重写为site.dev。没有-host-header部分,头就不会被重写,现在可以工作了。


3
非常有用,只需注释一下:应该是 ngrok http site.dev:80。 - cristiancastrodc
1
哈哈..手指打错字符了 :) 我已经编辑过了! :) - greew
1
非常感谢你。今天我花了大约8个小时与Twilio进行斗争,而你在这里的帖子是我找到解决问题的最好提示。 - Ryan
2
有人能讲解一下如何确保登录也能正常工作吗?我的登录似乎由于会话 cookie 域名不匹配而无法正常工作。我想知道这是否可以解决并添加到答案中。 - benjaminhull
它帮助了我在我的PayPal项目中。谢谢。 - Yevgeniy Afanasyev

0

如果您能简要概括一下,那就太好了,以防您发布的链接可能不再可用。 - Eyad Mohammed Osama

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接