Я пытаюсь подключить свой сервер socket.io nodejs к клиенту Angular 9. Это сработало, когда я разрабатывал свое веб-приложение с использованием http, но для производства мне нужно изменить соединение на HTTPS, но я получаю эту ошибку:
WebSocket connection to 'wss://localhost:4444/socket.io/?EIO=3&transport=websocket' failed: Error in connection establishment: net::ERR_CERT_INVALID
Вот как я инициализирую nodeJS server:
var fs = require('fs');
var https = require('https');
var express = require('express');
var app = express();
var options = {
key: fs.readFileSync('./src/file.pem'),
cert: fs.readFileSync('./src/file.crt')
};
var httpsServer = https.createServer(options, app);
var io = require('socket.io')(https);
io.on("connection", socket => {
...
});
, и я подключаю свое Angular webapp следующим образом:
const config: SocketIoConfig = { url: 'https://localhost:4444', options: { transports: ['websocket'], rejectUnauthorized: false } };
...
imports: [
SocketIoModule.forRoot(config),
...
]
Я знаю, что rejectUnauthorized
допускает атаки MITM, но я просто не могу понять что не работает.
Любая помощь будет очень признательна!