在Vagrant框中访问ngrok Web界面

时间:2015-10-27 01:16:24

标签: localhost vagrant ngrok

我有一个我用于本地开发的Vagrant盒子。我正在研究一个从外面调用的webhook;所以我正在考虑使用ngrok.com将请求代理到我的Vagrant环境。我是这个ngrok的新手。

我正在试图弄清楚如何访问ngrok的网络界面,通常是http://127.0.0.1:4040。当然,这不适用于我的浏览器,因为它在Vagrant框之外,所以它的localhost不是Vagrant的本地主机。

我(我想)拥有Vagrant的IP地址。我在config.yaml文件中找到它(是的,带有a),在vm下:network:private_network:192.168.nnn.nnn

感谢您的帮助。

4 个答案:

答案 0 :(得分:41)

尝试访问VM中的站点时,将ngrok放入主机,并使用以下命令调用它:

http://123456.ngrok.io

您需要使用以下方式访问您的网站(在主机的浏览器中)

mydomain.com

但它会将其重写为http://127.0.0.1:4040

您将能够通过以下方式访问您的ngrok仪表板(在主机的浏览器中):

{{1}}

https://ngrok.com/docs#host-header的文档。祝你好运!

答案 1 :(得分:14)

你的问题是这个:https://github.com/inconshreveable/ngrok/issues/153

您必须使用以下内容创建配置文件:

web_addr: 0.0.0.0:4040

然后运行ngrok:

ngrok http 3000 -config=/path/to/ngrok.conf

现在,您可以使用以下地址从浏览器访问网络界面:http://vagrantip:4040http://vagranthostname:4040

例如,如果您的/ etc / hosts以这种方式配置,则http://192.168.33.34:4040http://site.dev:4040

有关ngrok配置文件的更多信息,请访问:https://ngrok.com/docs#config

答案 2 :(得分:4)

通过添加以下内容更改您的配置nano ~/.ngrok2/ngrok.yml

web_addr: 0.0.0.0:4000

这将打开您的ngrok仪表板访问主机的权限。

答案 3 :(得分:1)

将以下行添加到Vagrantfile

config.vm.network "forwarded_port", guest: 4040, host: 8080

然后您可以从主机系统http://localhost:8080http://127.0.0.1:8080访问。你可以帮忙Vagrant Documentation

使用命令转到您的客人机器:

vagrant ssh vmname

并使用ifconfig检查来宾计算机的IP。 vagrant使用默认网络并将一个ip分配给来宾计算机,因此使用该IP可以从主机访问Web界面http://vagrantip:4040

您可以创建或分配公共或专用网络IP。参考vagrant Networking