Не удается заставить socket.io работать при подключении по HTTPS - PullRequest
1 голос
/ 15 апреля 2019

Я пытался запустить свой сервер узлов с https.Я использую express и socket.io.

Я получаю ошибку в консоли "net :: ERR_CERT_AUTHORITY_INVALID"

У меня самозаверяющий SSL.

Код работаетхорошо при запуске без SSL.Я не знаю, можно ли принять мой подписанный сертификат.

Пожалуйста, покажите мне, как: 1. Принять самоподписанный сертификат SSL.или 2. Помогите мне выполнить эту работу по-другому.

узел v6.16.0 сервер CentOS

Это мой код для https:

//server-side

'use strict';

var https = require('https');
var fs = require('fs');
var path = require('path');
var app = require('express')();
var md5 = require('md5');
var port = process.env.PORT || 3030;

var credentials = {
    key: fs.readFileSync('/var/www/httpd-cert/www-root/site.com.key', 'utf8'),
    cert: fs.readFileSync('/var/www/httpd-cert/www-root/site.com.crt', 'utf8'),
    requestCert: true,
    rejectUnauthorized: false
};

var httpsServer = https.createServer(credentials, app);

var io = require('socket.io')(httpsServer);

io.on('connection', function(socket){
    console.log('an user connected');
    socket.on('chat message', function(msg){
        io.emit('chat message', msg);
    });
});

httpsServer.listen(port, function(){
    console.log('listening on *:3030');
});

Сторона клиента

<!doctype html>
<html>
<head>
    <title>Socket.IO chat</title>

</head>


<body>

<ul id="messages"></ul>
<form action="">
    <input id="m" autocomplete="off" /><button>Send</button>
</form>



<script src="/Assets/js/socket.io.js"></script>


<script type="text/javascript">


    $(function () {
        var host = 'https://example.com:3030';
        var socket = io.connect(host, {secure: true});

        socket.on('connect', function(){
            socket.on('event', function(data){});
            socket.on('disconnect', function(){});
        });


        $('form').submit(function(){
            socket.emit('chat message', $('#m').val());
            $('#m').val('');
            return false;
        });
        socket.on('chat message', function(msg){
            $('#messages').append($('<li>').text(msg));
        });
    });
</script>

</body>
</html>

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