0

I'm using socket.io-client to create a socket connection to my locally-running server. See my code below:

// Working example of connecting to a local server that is not SSL protected


var io = require('socket.io-client')
var socket = io.connect('http://localhost:3000', {reconnect: true});


socket.on('connect', function(){ console.log("inside 'connect'") } );

socket.on('connection', function(){ console.log("inside 'connection'") } );

socket.on('event', function(data){ console.log("inside 'event'") } );

socket.on('disconnect', function(){ console.log("inside 'disconnect'") } );



var payload = {email: 'fake@gmail.com', password: 'tester'};
var tokens = {browserId: 'b965e554-b4d2-5d53-fd69-b2ca5483537a'};


socket.emit("publish", {logic:"user", method:"signIn"}, payload, tokens, function(err, creds) {
    console.log("inside the socket client emit callback. err: " + err);
    console.log("creds: " + creds);
});

Now for my problem. As I stated in the comment at the top of that code, I can connect to my local nodejs server and get the response I expect when I turn off SSL encryption on my server. As soon as I turn SSL on, I stop getting any response at all from the code above. I don't see any message in my server logs or from the command line, where I'm running the code above with node.

My goal is to be able to run the code above, with SSL turned on in my server, and get the same response that I get when SSL is turned off. I've tried a bunch of variations on the code I included above, such as:

  • connecting to "https://localhost:3000"
  • connecting to "//localhost:3000"
  • connecting to "https://localhost:3443" (this is the port I have to connect to when I have the nodejs server running with SSL)
  • changing {reconnect:true} to {reconnect:true,secure:true}

I'm truly stumped, and I've been doing a bunch of research on the web and on my node server. It's my company's code and I didn't originally implement the SSL components, so I've spent a few hours looking at our code and trying to understand how adding SSL changes everything. I'm also a student and have about 2 years of experience behind me, so I'm good but I'm no expert. Have I said anything above that indicates if my task is impossible to achieve, or if maybe I have just overlooked something? Any leads on things to check out would be appreciated :)

Max
  • 808
  • 11
  • 25
  • @RolandStarke There is no "client site" or client side. I'm running the script above from my terminal. When I run my server **without** SSL turned on, I get output to my terminal from the script above. With SSL turned on, I get no output to my terminal at all. – Max Jan 22 '16 at 22:33
  • Did you provide the `key`, `cert` and `ca` in your socket server like he does? :http://stackoverflow.com/questions/6599470/node-js-socket-io-with-ssl cant find any docs in socket.io for ssl but maby that helps. – Roland Starke Jan 22 '16 at 22:38
  • The server itself is definitely being provided the `key` and `cert`. I don't know what it meant by `ca`. My individual code snippet in my question doesn't provide a `key` or `cert` or anything else, other than a url to where the server should be listening – Max Jan 22 '16 at 22:58

0 Answers0