我正在尝试通过Nodejs服务器实现安全的网络套接字。服务器在我们大学的网络中,当我从大学网络内部访问服务器时,它可以正常工作。但是,当我尝试从外部连接时,出现“ net :: ERR_CONNECTION_REFUSED”错误,并且确保相应的端口已打开。 这是代码:
var ws_PORT = xxx;
var fs = require('fs');
var https = require('https');
var cert = fs.readFileSync('path/cert.pem', 'utf8');
var key = fs.readFileSync('path/privkey.pem', 'utf8');
var options = {key: key, cert: cert};
var server = https.createServer(options);
server.listen(ws_PORT);
var WebSocket = require('ws');
var wss = new WebSocket.Server({server: server});
wss.on('connection', function(ws) {
console.log('WS_SERV: Connected to port: '+ws_PORT);
// Manage ws
// ...
}
有什么想法吗??
先谢谢您
答案 0 :(得分:1)
如果您在大学网络内部,则该连接将被大学防火墙阻止。您可能需要在防火墙上创建某种端口转发规则,但是如果您不是管理员,那么他们将不允许您这样做,并且如果您是管理员并且已经尝试过并且无法正常工作,则请加倍检查防火墙规则以及公共IP和内部IP。
或者,如果您要使其公开可用,最简单的方法就是将其放在Digital Ocean,AWS或linode上nginx之后的VPS上