加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 无法从外部访问node.js.

发布时间:2020-12-13 22:51:48 所属栏目:Linux 来源:网络整理
导读:我到处寻找答案,但没有运气. 我在我的服务器上安装了node.js.我创建了标准的“Hello World”示例,如: var http = require('http');http.createServer(function (request,response) { response.writeHead(200,{'Content-Type': 'text/plain'}); response.end
我到处寻找答案,但没有运气.

我在我的服务器上安装了node.js.我创建了标准的“Hello World”示例,如:

var http = require('http');

http.createServer(function (request,response) {
  response.writeHead(200,{'Content-Type': 'text/plain'});
  response.end('Hello Worldn');
}).listen(8080,"0.0.0.0");

console.log('Server running at http://0.0.0.0:8080/');

在服务器上运行脚本后:

node app.js

我可以将内部连接到端口808并查看Hello World消息,但是当我尝试从外部连接到端口8080时,我收到“无法连接到服务器”错误.我也在我的监听功能中试过这个:

etc..
}).listen(8080,"204.xxx.xxx.xxx");

(用我真正的外部IP地址)并没有任何运气.

我试图通过将其添加到iptables来接受8080上的连接:

iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

但仍然撞墙了.当我运行netstat时,我得到:

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      -

我认为端口8080正在监听连接.

那么 – 我在这里做错了什么?

解决方法

您最有可能支持网络地址转换(NAT).

如果您使用普通的家庭互联网连接并且有网关路由器,您可以使用家庭的互联网连接(通过以太网或Wifi连接)使用多台设备,不是吗?

但是你只有一个IP地址.

为实现此目的,路由器允许您连接 – 但不允许从外部启动任何连接(简化相关性 – 如果您想要更多信息,请阅读).

您将不得不考虑配置端口转发 – 您希望外部端口8080转发到您计算机的内部IP地址.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读