我設置一個套接字服務器,就像這樣:如何從節點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