Websocket SSL connection
39,047
The https
module is rejecting your self-signed cert (as one would hope). You can force it to stop checking by passing a rejectUnauthorized: false
option (which WebSocket
will pass down to https
):
var ws = new WebSocket('wss://localhost:15449/', {
protocolVersion: 8,
origin: 'https://localhost:15449',
rejectUnauthorized: false
});
Author by
cocoa
Updated on June 19, 2020Comments
-
cocoa almost 4 years
I am trying to test a secure websocket but I'm having trouble. Here is my test:
var WebSocket = require('ws'); describe('testing Web Socket', function() { it('should do stuff', function(done) { var ws = new WebSocket('wss://localhost:15449/', { protocolVersion: 8, origin: 'https://localhost:15449' }); ws.on('open', function() { console.log('open!!!'); done(); }); console.log(ws); }); });
Here's the log of "ws" after it's created:
{ domain: null, _events: { open: [Function] }, _maxListeners: undefined, _socket: null, _ultron: null, _closeReceived: false, bytesReceived: 0, readyState: 0, supports: { binary: true }, extensions: {}, _isServer: false, url: 'wss://localhost:15449/', protocolVersion: 8 }
I don't get a log back from open. I am running the project locally and when I use the Chrome Advanced Rest Client tool I am able to connect just fine.
Am I missing something? Please help.
Edit: I added
ws.on('error')
and it logged out{ [Error: self signed certificate] code: 'DEPTH_ZERO_SELF_SIGNED_CERT' }
I've also tried following this code but get the same error. -
Zeba over 7 yearsI tried using this solution for similar issue I am getting with my Cordova Android app. But this gives me an error as ""Uncaught SyntaxError: Failed to construct 'WebSocket': The subprotocol '[object Object]' is invalid."