socket.io SSL / HTTPS выдает 404 Ошибка на клиенте / Не удается подключиться к серверу - PullRequest
0 голосов
/ 06 декабря 2018

мой чат-сервер работал нормально на http, но теперь я использую letsencrypt, и клиент возвращает ERROR 404 в консоли Chrome при попытке получить socket.io.js

В следующих примерах кода я заменил свой реальный доменwith mydomain.de

Сервер работает без ошибок:

var app = require('express')();
var fs = require('fs');
var https = require('https');
var io = require('socket.io')(https);
var mysql = require('mysql');

var options = {
    key: fs.readFileSync('/etc/letsencrypt/live/mydomain.de/privkey.pem'),
    cert: fs.readFileSync('/etc/letsencrypt/live/mydomain.de/cert.pem'),
    ca: fs.readFileSync('/etc/letsencrypt/live/mydomain.de/chain.pem')
};

var serverPort = 8888;
var server = https.createServer(options, app);


io.on('connection', function(socket){
    console.log('a user connected');

    socket.on('join room', function (data) {
       socket.join(data.room);
       console.log('user' + socket.id + ' joined ' + data.room);


    });

    socket.on('chat message', function(data){
        socket.broadcast.to(data.room).emit('chat message', {is_sender: 0, msg: data.msg});
        socket.emit('chat message', {is_sender: 1, msg: data.msg});


    });

    socket.on('disconnect', function(){
        console.log('user disconnected');
    });
});


server.listen(serverPort, function(){
    console.log('listening on *:' + serverPort);
});

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

<script src="https://mydomain.de:8888/socket.io/socket.io.js"></script>
<script>
  var socket = io('https://mydomain.de:8888');
</script>

Похоже, клиент не может подключиться, так какСервер не регистрирует никаких соединений вообще.Что мне здесь не хватает?Пытаюсь разобраться с часами и прочитать много примеров или похожих проблем, но не могу найти ошибку, которую я сделал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...