Javascript node.js服务器外部访问不工作

Javascript node.js服务器外部访问不工作,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我已经设置了一个node.js服务器,它应该为从目录到客户端的HTML文件提供服务。它还应该记录所有连接和断开连接的客户端。这两种方法都能很好地发挥作用,但只能在局部发挥作用。我已经将端口3000上的流量转发到我的服务器,并停用了它的防火墙。我还可以做些什么来启用外部访问 var express = require('express'); var socket = require('socket.io'); //app setup var app = express(); var server

我已经设置了一个node.js服务器,它应该为从目录到客户端的HTML文件提供服务。它还应该记录所有连接和断开连接的客户端。这两种方法都能很好地发挥作用,但只能在局部发挥作用。我已经将
端口3000上的流量转发到我的服务器,并停用了它的防火墙。我还可以做些什么来启用外部访问

var express = require('express');
var socket = require('socket.io');
//app setup
var app = express();
var server = app.listen(3000, ready);

function ready(){
    console.log('setup completed\nlistening on port 3000\n\n');
}

app.use(express.static('public'));

//socket setup
var io = socket(server);

io.on('connection', newConnection);

function newConnection(socket){
   //some code
}
我已经将端口3000上的流量转发到我的服务器

那是错误的方向。您的服务器侦听端口3000,但Web服务器在端口80下提供服务,因此您必须将端口80转发到端口3000

并关闭了防火墙


坏主意。只需打开一个端口(80或3000,具体取决于端口转发的位置)。通常途中的路由器也会阻止某些输入连接,所以也要检查一下。

客户端如何通过您的外部IP地址访问应用程序?这是计划,但这些外部连接似乎都不起作用:(我尝试将外部端口设置为80,内部(间隔)设置为3000-3000,但仍然不起作用:(你的意思是其他吗?不幸的是,这不起作用:(你能想出可能导致此问题的其他原因吗?(我再次修改了代码,并将路由器配置为将流量从端口80转发到端口3000)