ngrok - 获取到本地主机服务器的所有路由

Posted

技术标签:

【中文标题】ngrok - 获取到本地主机服务器的所有路由【英文标题】:ngrok - Get all routes to localhost server 【发布时间】:2016-07-24 19:12:28 【问题描述】:

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

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

./ngrok http 3000

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

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

在开发 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 s 运行我的rails 应用程序。通过这样做,我能够让 ngrok tunneing 正常工作。

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

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

祝你好运。

【讨论】:

以上是关于ngrok - 获取到本地主机服务器的所有路由的主要内容,如果未能解决你的问题,请参考以下文章

使用ngrok将本地Web服务映射到外网----个人电脑变成服务器

创建一个本地主机并将服务器公开到互联网?

Ngrok 和 Meteor 的 Facebook 身份验证问题

带有隧道工具的 IISExpress:请求主机名无效

像 ngrok 这样的 localtunnel 服务可以看到你的源代码吗?

使用ngrok反向代理进行内网穿透,让你的本地电脑也可以免费当做服务器