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?.
