gpt4 book ai didi

node.js - ERR_CERT_INVALID : When trying to connect client using ngx-socket-io to nodejs socketio using HTTPS self-assigned certificate

转载 作者:行者123 更新时间:2023-12-04 22:37:20 24 4
gpt4 key购买 nike

我正在尝试将我的 socket.io nodejs 服务器连接到我的 Angular 9 客户端。它在我使用 http 开发我的 webapp 时工作,但对于生产我需要将连接更改为 HTTPS,但我收到此错误:

WebSocket connection to 'wss://localhost:4444/socket.io/?EIO=3&transport=websocket' failed: Error in connection establishment: net::ERR_CERT_INVALID

这就是我初始化 nodeJS 服务器的方式:
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 攻击,但我无法弄清楚什么不起作用。

任何帮助将不胜感激!

最佳答案

看来您使用的是 socket.io 不支持的私钥格式!
它应该是一个“.key”文件。
这是我使用 ssl 时的常用设置:

const key = fs.readFileSync('privateKey.key');
const cert = fs.readFileSync('certificate.crt');
const ssl = { key: privateKey, cert: certificate };
const app = require('express')();
const https = require('https');
const server = https.createServer(ssl, app);
希望有帮助! ✌️
米歇尔

关于node.js - ERR_CERT_INVALID : When trying to connect client using ngx-socket-io to nodejs socketio using HTTPS self-assigned certificate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62103725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com