使Laravel Homestead可以通过互联网访问

3

我该如何使 Laravel Homestead(一个 Vagrant 虚拟机)可以通过互联网访问?目前,我已将路由器设置为端口转发到我的主机的本地 IP。然而,这会导致 Laravel 网站认为所有传入请求都来自 10.0.2.2。

正确的方法是什么,可以使网站可以通过互联网访问?我是否需要让虚拟机从路由器 DHCP 分配一个 IP?如果是,我该如何做?


Homestead不应用于任何严肃的托管。如果要向朋友/客户等展示,请考虑使用https://ngrok.com/。 - ceejayoz
我很清楚,这只是为了与少数人分享。我已经设置了一个开发子域,并将其指向我的WAN IP。我还将其设置为仅允许从特定IP地址访问。但问题仍然存在。 - user1960364
3个回答

1
这些天正确的答案是通过ssh在命令行上使用Homestead的share别名。
例如:share acme.app 在幕后,这使用ngrok,并在Laravel文档中有记录。

0

很可能你需要告诉Laravel信任路由器作为代理:

Request::setTrustedProxies([
    '10.0.2.2',
]);

如果路由器正确设置了X-Forwarded-For类型的标头,这将起作用。


ceejayoz,du是什么? - user1960364
@user1960364 抱歉,看起来我开始输入了什么东西,不小心按下了回车键。 - ceejayoz

0

这似乎更像是一种hack方法,会产生一个可怕的URL,我宁愿在自己的域名下设置一个子域名。难道没有办法让vagrant机器从我的路由器分配一个IP地址吗? - user1960364
不需要,但你并不真的需要那个 - 使用你机器的IP和端口8000(假设默认的Homestead配置)。http://laravel.com/docs/4.2/homestead#ports - Kestutis

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