2

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

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

./ngrok http 3000

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

但是当他们在上面做一些事情时(例如,点击一个重定向的按钮),URL的主机又变成localhost

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

4

2 回答 2

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 工作正常,但我的本地服务器不是。这是真的,因为我忘了先通过 run 运行我的 rails 应用程序$ rails s。通过这样做,我能够让 ngrok tunneing 正常工作。

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

当我单击root_path在我的route file. 但是例如其他链接和标题选项卡可以正常工作并显示 ngrok url。

祝你好运。

于 2017-10-15T20:43:46.890 回答
1

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

一般来说,最好的做法是始终使用相对 url,这样应用程序就不会绑定到主机名。当然,这是一项理想的工作——不幸的是,大多数遗留应用程序可能不会遵循这一点。

于 2016-09-07T19:34:52.087 回答