ngrok - 获取到localhost服务器的所有路由

时间:2016-04-05 02:52:36

标签: http routes server localhost ngrok

我在我的localhost中使用ngrok(免费帐户)作为我用Go编写的编码Web服务器

在Ubuntu中,启动我的服务器(侦听端口3000)后,运行此命令启动ngrok:

./ngrok http 3000

然后其他PC可以通过ngrok提供的路径访问我的演示网络,例如http://6fed323a.ngrok.io

但当他们对其执行某些操作时(例如,点击重定向的按钮),网址主机再次成为localhost

ngrok没有任何允许访问服务器中所有路由的功能,是吗?我正在学习

2 个答案:

答案 0 :(得分:1)

我刚遇到这个问题,原因是因为你的按钮使用了直接的绝对路径重定向,而ngrok(或者迄今为止使用的任何隧道服务)都无法处理。您需要使用相对路径重定向,例如: window.location.href = '/path';

通常,最好始终使用相对网址,以便应用程序不绑定到主机名。当然,这是一个理想的工作 - 不幸的是,大多数遗留应用程序可能不会遵循这一点。

答案 1 :(得分:1)

当我在使用Rails应用程序时,我想在 ngrok 上运行它,但我收到以下错误:

The connection to http://xxxxxx.ngrok.io was successfully tunneled to your ngrok client, but the client failed to establish a connection to the local address localhost:3000.

似乎ngrok工作正常,但我的本地服务器不行。这是真的,因为我忘记首先运行我的rails应用程序$ rails s。通过这样做,我能够使ngrok隧道工作正常。

确保首先运行本地服务器。

当我点击我的root_path中定义为route file的网站徽标时,我注意到ngrok网址已更改为localhost网址。但是其他链接和标题选项卡例如可以正常工作并显示ngrok url。

祝你好运。