2017-01-11 3 views
1

Я прочитал почти все возможные учебники о том, как получать SSL через socket.io, и я просто не могу заставить его работать.Socket.io - SSL через Cloudflare

Мой бэкенд JS выглядит следующим образом:

var express = require('express'); 

var options = { 
    key: fs.readFileSync('/key.key'), 
    cert: fs.readFileSync('/crt.crt'), 
    requestCert: true 
}; 
var app = express(); 
var server = require('https').createServer(options, app); 
var io = require('socket.io').listen(server); 
server.listen(2096, "IP Address"); 

Фронтэнд JS:

SOCKET = io('https://name.com:443', {secure: true}); 

Я использую полный SSL с CloudFlare сертификаты установить на моем сервере.

Я также получить следующее сообщение об ошибке при подключении:

POST https://name.com/socket.io/?EIO=3&transport=polling&t=LcBk2Vk 404() 

Я не уверен, если мои порты являются неправильными или я что-то отсутствует полностью.

Я рад предоставить дополнительные фрагменты кода.

Заранее спасибо

+0

не вам нужен WSS: // URL ? делает это wss подключаться к простой WebSocket()? (только временно) – dandavis

+0

Вы пытаетесь подключиться к порту '443', пока ваш сервер прослушивает порт' 2096'. Попробуйте https://name.com:2096 –

ответ

1

Вы просто слушаете не тот порт. SSL трафика подается через 443, как правило, для того, чтобы исправить это, вы должны заменить:

server.listen(2096, "IP Address");

С чем-то вроде этого:

server.listen(443);