Сервер Node.JS, использующий Socket.io, должен быть подключен как к веб-сайту https, так и к сценарию Python в Amazon EC2. - PullRequest
0 голосов
/ 13 апреля 2020

В настоящее время у меня есть сервер Node.Js, который при подключении к браузеру перенаправляет их на веб-страницу, позволяющую общаться с помощью Socket.io.

У меня также есть отдельно запущенный скрипт python, который был возможность подключения к серверу до тех пор, пока мне не пришлось изменить веб-страницу для подключения к HTTPS, после чего что-то о том, как сервер Node.JS изменил способ запуска прослушивания, означало, что в сценарии python соединение было отклонено сервер.

В настоящее время, чтобы разрешить веб-странице использовать https, подключение выполняется:


var htmlPath = path.join(__dirname, 'client');
app.use(express.static(htmlPath);

var https = require('https');
var options = {
    key: fs.readFileSynce('./server-key.pem'),
    cert: fs.readFileSynce('./sever-cert.pem'),
}

var server = https.createServer(options, app).listen(9000, function(){
    console.log('listening on port 9000');
});

var io = require('socket.io)(server, {});
io.socket.on('connection', function(socket){
...
}

Где, как и в предыдущей версии, разрешено подключение Python и подключение Http, но не HTTPS было сделано так:

var htmlPath = path.join(__dirname, 'client');
app.use(express.static(htmlPath));

var server = app.listen(9000, function() {
    console.log('listening!');
});

var io = require('socket.io')(server,{});

io.sockets.on('connection', function(socket){
....
}

Сценарий python просто подключается с использованием:

socket.connect('HTTPS://SERVER_IP_ADDRESS')

Я знаю, что это вероятно, потому что он больше не слушает, используя app.listen больше. Но как я могу заставить это работать, все еще используя https для подключения к веб-странице?

Извинения, если это очень простой вопрос. Я потратил много времени на изучение Node.JS и Socket.IO в последнее время, но так и не понял, как на самом деле он слушает различные типы соединений.

Спасибо за любую помощь!

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