Clients wont connect to secure websocket

August 30, 2017 1.6k views
Networking Debian

The problem:

Hey! I've just configured SSL so I can have secure websocket (wss) on my server. But everytime the clients tries to connect to the server I get this error message:

WebSocket connection to 'wss://138.68.86.134/' failed: Error during WebSocket handshake: Unexpected response code: 200

It worked before I had SSL without problems. Now it wont even connect.

My Code:

Server.js (node.js websocket server using ws library):

const https = require('https');
const fs = require('fs');

var privateKey = fs.readFileSync('./key.pem', 'utf8');
var certificate = fs.readFileSync('./cert.pem', 'utf8');

var credentials = {key: privateKey, cert: certificate};
var express = require('express');
var app = express();

//pass in your express app and credentials to create an https server
var httpsServer = https.createServer(credentials, app);
httpsServer.listen(8443);

var server = require("ws").Server;
var s = new server({ server: httpsServer })

Client:

var sock = new WebSocket("wss://138.68.86.134");

Note: I don't have NGINX but I am willing to do everything in order to get this to work, for example change to ubuntu instead of debian,

1 Answer

Sorry to see that your question hasn't received an answer yet. Your code seems to match the official SSL example, so the only thing that seems off is that the port is not specified in this command:

var sock = new WebSocket("wss://138.68.86.134");
Have another answer? Share your knowledge.