我有一个我用于本地开发的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
感谢您的帮助。
答案 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:4040或http://vagranthostname:4040
例如,如果您的/ etc / hosts以这种方式配置,则http://192.168.33.34:4040或http://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:8080或http://127.0.0.1:8080访问。你可以帮忙Vagrant Documentation 。
或
使用命令转到您的客人机器:
vagrant ssh vmname
并使用ifconfig
检查来宾计算机的IP。 vagrant使用默认网络并将一个ip分配给来宾计算机,因此使用该IP可以从主机访问Web界面http://vagrantip:4040
或
您可以创建或分配公共或专用网络IP。参考vagrant Networking