1

I was tried socket connection in AWS EC2 with ssl certified. i have created key file and also cert file, and attach my key into amazon load balance.

My server side code is

 const socket = require( 'socket.io' );
const express = require( 'express' );
const https = require( 'https' );
const fs = require("fs");
var port = 8443;
var options = {
  key: fs.readFileSync('/var/www/html/key/my.key').toString(),
  cert: fs.readFileSync('/var/www/html/key/my.crt').toString(),
  NPNProtocols: ['http/2.0', 'spdy', 'http/1.1', 'http/1.0']
};
var app = express();
var server = https.createServer(options , app);
var io = require('socket.io')(server);

io.sockets.on( 'connection', function( client ) {
  console.log( "New client !" );

  client.on( 'search_id', function( data ) {
    console.log( 'Message received ' + data.search_id );
    io.sockets.emit( 'search_id', { search_id: data.search_id } );
  });
});


server.listen(8443, function () {
    var addr = server.address();
    console.log('   server listening on :' + addr.port);
});

My Client side code is

<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.7.3/socket.io.js"></script>



 var socket = io.connect( 'https://'+window.location.hostname+':8443' );
                        socket.emit( 'search_id', { search_id: search_id } );

                       socket.on('connect_error', function(data){
                        console.log(data);
                        console.log("Connection Failed");
                       });

                        socket.on( 'search_id', function( data ) {
                        console.log(data);
                      });

I run my server js in terminal. Initialy returns server listening

Then it goes to connect_error - Connection Failed returns in my console.

My code working in my local system. What mistake i did, Is there any other configuration in AWS server?.

Thirupathi
  • 81
  • 1
  • 9

0 Answers0