Ngrok:如何打开80端口

15

我刚在本地机器上安装了ngrok,运行了

ngrok http 80

像往常一样。

但是当我尝试访问80端口时

localhost:80 

我收到了这个错误信息

连接 http://*******.ngrok.io 已成功隧道传输到您的 ngrok 客户端,但客户端未能与本地地址 localhost:80 建立连接。

我不确定为什么会出现这种情况,并在stackoverflow上浏览了一下,但并没有完全理解我读到的答案。希望从这里开始重新诊断并建立理解。

操作系统是Mac OS。


你使用的是哪个操作系统?在Linux/Unix上,只有root用户才允许打开低于1024端口的socket。 - mnille
1
可能是指Mac,我现在也遇到了同样的问题。 - Roy
我在Mac上遇到了同样的问题,有人找到解决方法了吗?谢谢。 - Gabi Radu
4个回答

13

ngrok 可以让我们连接本地服务器和 http://xxx.ngrok.io。你只需要运行像 Apache、nginx 这样的服务器即可。它允许内置语言的本地服务器。

sudo apachectl start
ngrok http 80

如果你喜欢 PHP,你可以按照以下步骤操作。

php -S localhost:8080
ngrok http 8080

祝你好运 :D


在 Mac 上使用 Ruby,您可以从项目根目录开始本地服务器:"ruby -run -e httpd . -p [端口号]",然后:"ngrok http [端口号]"(创建符号链接以从任何目录运行 ngrok)。 - Ben
完美答案 - Manish

3

尝试以下步骤将本地服务器连接到Ngrok。

在本地主机上启动服务器并将服务器端口暴露给Ngrok。

假设我正在运行一个Rails应用程序。要启动我的本地服务器,我会执行以下命令:

rail server

默认的 Rails 本地主机是:
localhost:3000

请勿使用 localhost:8080

在浏览器中输入localhost:3000,确保它能调用您的应用程序。 完成后,打开您的终端或命令行界面并键入

ngrok http 3000

不要使用 ngrok http 8080 或者 ngrok http 80, 因为你的默认端口是 3000 而不是 8080 或者 80,除非你将它改到其他端口。
这会在终端上打开一个GUI界面,显示本地服务器实例的所有网络统计信息和公开访问的URL。
打开你偏好的网页浏览器并加载“Forwarding”旁边显示的任一URL。例如:https://.ngrok.io/api/v1/login
就这些,现在你有了一个可以从世界上任何地方访问的Web服务器。
以上。希望这对你有所帮助。

2

只需按照以下步骤操作:

  1. 使用rail server启动服务器
  2. 打开终端并输入ngrok http 3000

注意:Rails的默认本地主机是localhost:3000

这将生成一些链接,用于访问您的本地主机 复制链接并粘贴到浏览器中。

我已经成功尝试了这种方法。


1

我正在开发一个Rails应用程序,我想在ngrok上运行它,但是我遇到了以下错误:

成功将http://xxxxxx.ngrok.io的连接隧道化到您的ngrok客户端,但是客户端无法与本地地址localhost:3000建立连接。

看起来ngrok工作正常,但我的本地服务器没有启动。这是真的,因为我忘记先运行rails应用程序,可以通过运行$ rails s启动。运行本地服务器3000后,我能够成功使用ngrok。

一旦您的本地服务器首先运行,请转到ngrok网址,它应该如预期般运行。

祝你好运。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接