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?

Original source

Related problems