我正在尝试通过Nodejs服务器实现一个安全的websocket。服务器在我们学校的网络上,当我在校园网内访问它时,它工作得很好。然而,当我尝试从外部连接时,我得到了一个"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
// ...
}有什么想法...?
先谢谢你,
发布于 2018-06-23 04:39:25
如果您在大学网络内,则连接将被大学防火墙阻止。你需要在防火墙上创建某种类型的端口转发规则,但如果你不是管理员,他们不会允许你这么做,如果你是管理员,并且已经尝试过了,但它不起作用,那么请仔细检查防火墙规则以及公共和内部IP。
或者,如果您希望将其公开访问,最简单的方法是将其放在Digital Ocean、AWS或linode上的nginx后面的VPS上
https://stackoverflow.com/questions/50993499
复制相似问题