【问题标题】:Publish NodeJS Server Online在线发布 NodeJS 服务器
【发布时间】:2019-02-03 10:13:48
【问题描述】:

我目前在尝试将调制解调器端口转发到我的 Node.js 服务器时遇到问题。抱歉,如果这是一个重复的问题,我已经花了一些时间查看熟悉的主题。

我使用的是 express 框架,我已经包含了一个小的 sn-p,所以你可以看到 node.js 服务器也在监听哪个端口。

快速提问:在这种情况下我应该使用 server.listen 还是 app.listen?有什么区别?)

var express = require('express');
var app = express();
var server = require('http').Server(app);

app.listen(4000);

我还附上了一张图片,其中包含:

  • node.js 服务器正在运行。
  • ipconfig(这样你就可以看到我的本地IP地址)
  • 以及我的调制解调器端口转发设置的屏幕截图。

当我用谷歌搜索“我的 IP 地址是什么”并检索我的公共 IP 地址并导航到该地址时,我在浏览器上收到一条错误消息,指出服务器响应时间过长。我假设服务器没有被端口转发,但我似乎无法隔离问题。

任何帮助将不胜感激?

【问题讨论】:

    标签: node.js port


    【解决方案1】:

    您的调制解调器/wifi 路由器的公共 IP 地址不时或在您的路由器重新启动时经常更改。这是因为 DHCP。

    端口转发和破解您的 wifi 路由器防火墙规则以允许公共访问您的家庭或办公室网络是一种不安全的做法。

    这就是像 SocketXP 这样的简单工具派上用场的地方。 SocketXP 将为您提供一个公共 URL 来访问您在本地机器上运行的 NodeJS 服务器,例如您的家庭/办公室笔记本电脑或服务器。

    这是来自互联网的 how to install and setup SocketXP to access your local NodeJS server 上一篇很棒的博客文章。

    【讨论】:

      【解决方案2】:

      如果您将您的 Express 应用程序包装在 http 服务器 中,您应该像 server.listen(4000) 那样收听它。

      还要确保您计算机上的防火墙没有阻止对该端口的访问。端口转发+禁用防火墙规则的一个很好的替代方法是使用反向代理,例如ngrok

      【讨论】:

      • 我已经研究过诸如 ngrok、localtunnel.me、now.sh 之类的替代方案,我只是好奇如何通过调制解调器端口转发节点 js 服务器。我确定我对其进行了适当的配置,所以我真的找不到它有什么问题。 =|
      • 知道了。正如我所说,确保您的服务器通过从您的机器本地调用它来响应。然后确保您的防火墙没有阻止它
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      • 2022-11-23
      相关资源
      最近更新 更多