在 Vagrant box 上访问 ngrok web 界面

问题描述 投票:0回答:5

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

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

我(认为我)有 Vagrant 的 IP 地址。我在 vm: network: private_network: 192.168.nnn.nnn

下的一个 config.yaml 文件中找到了它(是的,有一个 a)

感谢您的帮助。

localhost vagrant ngrok
5个回答
54
投票

当尝试访问 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。祝你好运!


24
投票

你的问题是这个: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:4040http://site.dev:4040 如果您的 /etc/hosts 是这样配置的

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


6
投票

通过添加以下内容更改您的配置

nano ~/.ngrok2/ngrok.yml

web_addr: 0.0.0.0:4000

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


1
投票

将以下行添加到您的

Vagrantfile

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

然后您可以从主机系统访问 http://localhost:8080http://127.0.0.1:8080。你可以借助 Vagrant 文档 .

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

vagrant ssh vmname

并使用

ifconfig
检查来宾机器的IP。 vagrant 使用默认网络并为来宾计算机分配一个 ip,以便使用该 ip 您可以从主机访问 web 界面http://vagrantip:4040

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


0
投票

(这是给我未来的自己和任何可能面临类似问题的人的便条)

我正在使用 Vagrant,我从主机的浏览器 URL 访问我的本地网站s(在 Vagrant 中运行),就像这样

https://my.local.site
。我正在使用多个端口,每个端口指向不同的本地网站(例如,https://my.local.site:1111 指向 site1,https://my.local.site:2222 指向站点 2 等)。因此,要让 ngrok 与一个特定站点(假设站点 1,它使用端口:1111)一起工作,我需要做的就是像这样(从主机)运行 ngrok:

ngrok http my.local.site:1111

现在在主机浏览器中,我可以使用 ngrok 链接公开访问它,就像这样:

https://11-22-33-44-55.ngrok.io/people/person
# the above line will act as if I opened URL from browser https://my.local.site:1111/people/person

如果我想访问我的其他本地网站,我需要为每个端口以相同的方式运行多个 ngrok(但注意:ngrok 免费帐户只允许 1 个同时活动的代理)。

© www.soinside.com 2019 - 2024. All rights reserved.