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 身份验证问题