Javascript 为什么我的Nginx-Socket.io-Express-Setup不能通过HTTPS工作?

Javascript 为什么我的Nginx-Socket.io-Express-Setup不能通过HTTPS工作?,javascript,node.js,express,nginx,socket.io,Javascript,Node.js,Express,Nginx,Socket.io,在本地,它工作得很好,但当我把它放在Nginx反向代理之后,我在Chrome开发者控制台中看到了: GET https://127.0.0.1:8443/socket.io/?EIO=3&transport=polling&t=MoHVP61 net::ERR_SSL_PROTOCOL_ERROR Nginx配置: Socket.io后端: Socket.io客户端: 我假设您希望通过Nginx代理使用https 在这种情况下,您应该直接连接到Nginx服务器,而不是节点实例

在本地,它工作得很好,但当我把它放在Nginx反向代理之后,我在Chrome开发者控制台中看到了:

GET https://127.0.0.1:8443/socket.io/?EIO=3&transport=polling&t=MoHVP61 net::ERR_SSL_PROTOCOL_ERROR
Nginx配置:

Socket.io后端:

Socket.io客户端:


我假设您希望通过Nginx代理使用https

在这种情况下,您应该直接连接到Nginx服务器,而不是节点实例

var socket = require('socket.io-client');
socket.connect('https://127.0.0.1', { secure: true, rejectUnauthorized: true });

如果地址不正确,请将127.0.0.1替换为实际的Nginx服务器。如果您的SSl证书无效/自签名,请将rejectUnauthorized设置为false。

我将127.0.0.1改为域名,因为配置了多个服务器块,经过数小时的调试后,它现在可以工作。非常感谢你!你可以把你的答案抄送给我,我也会接受的
const express = require('express');
const app = express();
const server = require('http').Server(app);
const io = require('socket.io')(server);

server.listen(process.env.PORT, () => console.log(`Express running → PORT ${server.address().port}`));

io.on('connection', () => console.log(`Socket.io running → PORT ${server.address().port}`));
let socket = io.connect(`127.0.0.1:8443`);
var socket = require('socket.io-client');
socket.connect('https://127.0.0.1', { secure: true, rejectUnauthorized: true });