我在我的localhost中使用ngrok(免费帐户)作为我用Go编写的编码Web服务器
在Ubuntu中,启动我的服务器(侦听端口3000)后,运行此命令启动ngrok:
./ngrok http 3000
然后其他PC可以通过ngrok提供的路径访问我的演示网络,例如http://6fed323a.ngrok.io
但当他们对其执行某些操作时(例如,点击重定向的按钮),网址主机再次成为localhost
ngrok没有任何允许访问服务器中所有路由的功能,是吗?我正在学习
答案 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。