17

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

我试图弄清楚如何访问 ngrok 的 Web 界面,该界面通常位于http://127.0.0.1:4040。当然,这在我的浏览器中不起作用,因为它在 Vagrant 框之外,所以它的 localhost 不是 Vagrant 的 localhost。

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

谢谢你的帮助。

4

4 回答 4

53

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

ngrok http -host-header=rewrite mydomain.com:80

您需要通过以下方式访问您的站点(在主机的浏览器中):

http://123456.ngrok.io

但它会将其重写为mydomain.com.

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

http://127.0.0.1:4040

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

于 2015-10-27T18:56:12.227 回答
23

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

您必须创建一个包含以下内容的配置文件:

web_addr: 0.0.0.0:4040

然后像这样运行 ngrok:

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

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

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

有关 ngrok 配置文件的更多信息在这里:https ://ngrok.com/docs#config

于 2016-05-17T18:19:32.657 回答
6

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

web_addr: 0.0.0.0:4000

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

于 2017-01-11T09:39:52.503 回答
1

将以下行添加到您的Vagrantfile

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

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

或者

使用命令转到您的客户机:

vagrant ssh vmname

并使用 . 检查来宾机器的 ip ifconfig。vagrant 使用默认网络并为访客机器分配一个 ip,因此使用该 ip,您可以从主机http://vagrantip:4040访问 Web 界面

或者

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

于 2015-10-27T02:16:56.730 回答