ShelestovAnt
@ShelestovAnt
Верстаю и программирую

Настройка WebSocket соединения по https?

Всем привет!

Есть клиентский js:
let socket = io.connect('https://example.ru:3000');


Есть server.js на сервере:
var fs = require('fs');
let options = {
    key: fs.readFileSync('/etc/letsencrypt/live/example.ru/privkey.pem'),
    cert: fs.readFileSync('/etc/letsencrypt/live/example.ru/fullchain.pem'),
    port: 3000,
};
let https = require('https').createServer(options);
let io = require('socket.io')(https);
let Redis = require('ioredis');

let redis = new Redis();

redis.psubscribe('channel_*');
redis.on('pmessage', function (pattern, channel, message) {
    //console.log('Message recieved: ' + message);
    //console.log('Channel: ' + channel);
    msg = JSON.parse(message);
    io.emit(channel, msg);
});

https.listen(3000, function () {
    console.log('Listening on Port: 3000');
});


node server запускается и работает, но в браузере потом соединения нет.
Пишет: WebSocket connection to 'wss://example.ru:3000/socket.io/?EIO=3&transport=websocket' failed: WebSocket is closed before the connection is established.

VPS: Apache, SSL на домен

Первый раз с такой задачей сталкиваюсь, может кто подсказать куда копать?
Спасибо!
  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы