【问题标题】:Ngrok: How to open port 80Ngrok:如何打开 80 端口
【发布时间】:2023-06-07 04:03:01
【问题描述】:

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

ngrok http 80

像往常一样。

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

localhost:80 

我收到此错误消息

与 http://*******.ngrok.io 的连接已成功通过隧道连接到 您的 ngrok 客户端,但客户端无法建立与 本地地址 localhost:80。

我真的不确定为什么会发生这种情况,并浏览了 *,但不太理解我阅读的答案。希望从这里重新诊断并建立理解。

操作系统是 Mac 操作系统。

【问题讨论】:

  • 您使用的是哪个操作系统?在 Linux/Unix 上,只有 root 允许使用低于 1024 端口的开放套接字。
  • 可能是指 Mac ,我现在也有同样的问题
  • 我在 Mac 上遇到了同样的问题,有人找到解决方案了吗?谢谢。

标签: tunnel ngrok port80


【解决方案1】:

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)
  • 完美答案?
【解决方案2】:

只需这样做

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

N/B:默认的 rails 本地主机是 localhost:3000

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

这对我有用。

【讨论】:

    【解决方案3】:

    试试这个把你的本地服务器连接到 Ngrok。 在本地主机上启动服务器并将服务器端口公开给 Ngrok。

    假设我是一个正在运行的 Rails 应用程序。要启动我的本地服务器,我会点击

    rail server
    

    默认的rails本地主机是

    localhost:3000
    

    而不是localhost:8080

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

    ngrok http 3000
    

    而不是ngrok http 8080ngrok http 80,因为您的默认端口是3000 而不是808080,除非您最终将其更改为另一个端口。

    这应该会在终端上打开一个 GUI,显示本地服务器实例的所有网络统计信息和可公开访问的 url。

    打开您首选的网络浏览器并加载显示在“转发”旁边的任一网址。例如:https://.ngrok.io/api/v1/login

    就是这样。您现在拥有一个可以从世界任何地方访问的网络服务器。

    就是这样

    我希望这会有所帮助。

    【讨论】:

      【解决方案4】:

      我正在开发一个 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 应用程序。运行我的本地服务器 3000 后,我能够让 ngrok 正常工作。

      一旦您的本地服务器首先运行,前往您的 ngrok 网址,它应该会按预期运行。

      祝你好运。

      【讨论】: