如何使用ngrok隧道化将流量转发到本地托管的VM的端口?

时间:2018-10-12 06:43:44

标签: portforwarding tunnel ngrok

我能够通过ip 12.51.50.142访问我的VM服务器,但是我只能ngrok一个localhost端口。有什么方法可以使用ngrok并将流量重定向到我的VM服务器吗?我使用的是osx,但我认为用于Mac和Linux的工具是相同的。

2 个答案:

答案 0 :(得分:0)

我相信您正在寻找一种叫做port forwarding的技术。 对于Web项目,您必须转发端口80和443(从ngrok发布的计算机转发到vm)。 这是ngrok本身不会做的事情,因为他无法单独访问您的VM。 问题是,根据所使用的平台设置此设置会有所不同,因此如果没有具体说明,我无法建议任何具体解决方案。 对于Linux,这通常是通过iptables来实现的,但是我看到了许多用于此目的的其他解决方案。

在OSX上,以下问题应该起作用: https://apple.stackexchange.com/questions/230300/what-is-the-modern-way-to-do-port-forwarding-on-el-capitan-forward-port-80-to

答案 1 :(得分:0)

我正在使用VMWare运行虚拟机,并在上述VM中运行Ubuntu(在Win 10下)。该虚拟机运行在本地IP 192.168.45.128上,并在端口80上运行了Web服务器,该服务器显然无法通过Internet访问。我按如下方式使用ngrok(从win 10,而不是从VM内部)获取一个地址,该地址使我可以从Internet访问此Web服务器:ngrok http 192.168.45.128:80

您可能必须首先配置VMware的网络设置-应该有一个使用本地IP(如上面所述的我的IP)或NAT(实际上对我来说不能正常工作)的选项。

您可能想尝试:ngrok http 12.51.50.142:80

希望有帮助。