我设置一个套接字服务器,就像这样:如何从节点socket.io客户端**使用HTTPS连接节点socket.io服务器**
/* node-server.js */
var port = 3333;
var fs = require('fs');
var options = {
key: fs.readFileSync('ssl/server.key'),
cert: fs.readFileSync('ssl/server.crt')
};
var server = require('https').Server(options);
var io = require('socket.io')(server);
console.log('Socket server listening on port ' + port + '.');
server.listen(port);
io.sockets.on('connection', function(socket) {
console.log("Client " + socket.id + " connected.");
});
和连接节点客户端它:
/* node-client.js */
var url = 'https://localhost:3333';
console.log('Connecting to ' + url);
var io = require('socket.io-client');
var socket = io.connect(url, { reconnection: false });
socket.on('connect_error', function(error){ console.log('Error connecting to ' + url, error);});
socket.on('connect', function() {
console.log('Connected to ' + url);
});
然而,尝试连接时,我得到一个错误{ [Error: xhr poll error] description: 503 }
。
这个错误消失了,如果我删除了“HTTPS”组件,一切都正常。 Here's a diff showing exactly what I mean.
不过,我不认为HTTPS的问题,因为这里是另一个客户端(这一项在浏览器,而不是节点),它可以连接只是罚款:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript"
src="https://localhost:3333/socket.io/socket.io.js"></script>
</head>
<body onload="io.connect('https://localhost:3333');">
</body>
</html>
我怎样才能得到一个Node socket.io-client通过HTTPS连接到一个节点socket.io-server?
这是很好的注意,这个问题和答案处理*自签名*证书只要。 – RozzA