Socket.io SSL error
node.js, ports, socket.io, sockets, ssl
Solution
You may try the following:
In the node.js backend, configure socket as:
var fs = require('fs');
var https = require('https');
var app = require('express')();
var options = {
key: fs.readFileSync('<.key location>'),
cert: fs.readFileSync('<.cert location>')
};
var server = https.createServer(options, app);
server.listen(443, "0.0.0.0", function(){
console.log('listening in port', 443);
});
In the client app you need to connect as:
socket = io.connect(<server_ip>, {
secure: true
});
Problem
I'm trying to secure my web-site Everything was ok until I've finally installed SSL certificate (from CloudFlare, not a self-signed one) So the problem is: when I'm opening my site via HTTP - everything works perfectly, but when I'm opening it via https - site is losing connection to the host (it's needed to work) In console I can see: socket.io-1.4.5.js:1 GET https://188.226.131.219:8080/socket.io/?EIO=3&transport=polling&t=LlI-URk net::ERR_CONNECTION_CLOSED If I understood correctly here is a problem with ports. Using HTTP port 80 is ok and using https port 443 has problems. Is there any way to swap ports?