Здравствуйте. Я пытаюсь разработать приложение с Express + Socket.io + SSL. Потратил немало времени на поиски, и у меня пока не работает никаких методов.
Main. js - переменная certs предоставляет мои файлы SSL (выпущенные LetsEncrypt)
var express = require('express');
var bodyParser = require('body-parser');
var app = require('express')();
var http = require('http').createServer(app);
var certs = require(__dirname + '/config/https/index.js');
var https = require('https');
// USE /PUBLIC FOLDER FOR SERVING STATIC DIRECTORY
app.use(express.static('public'));
// UTILIZE HTML POST BODY REQUESTS
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
const httpsServer = https.createServer(certs, app,{requestCert: false,
rejectUnauthorized: false});
httpsServer.listen(443, () => {
console.log('listening on *:443');
});
var io = require('socket.io')(http);
io.on('connection', (socket) => {
console.log('a user connected');
});
http.listen(80, () => {
console.log('listening on *:80');
});
main. js (клиентская сторона) - включена в индекс. html
var socket = io.connect('https://main.example.com:80', {secure: true,rejectUnauthorized: false});
Я перепробовал множество комбинаций URL, таких как main.example.com и main.example.com:80
За исключением https и Socket.IO, скрипт работает и браузер обслуживает SSL / html без проблем; Однако на стороне клиента я получаю следующую ошибку.
index.js:83 GET https://main.example.com:80/socket.io/?EIO=3&transport=polling&t=N6ML2ri net::ERR_SSL_PROTOCOL_ERROR
Заранее благодарен за любую помощь.