Javascript node.js服务器外部访问不工作
我已经设置了一个node.js服务器,它应该为从目录到客户端的HTML文件提供服务。它还应该记录所有连接和断开连接的客户端。这两种方法都能很好地发挥作用,但只能在局部发挥作用。我已经将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
端口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)