wss 失败,而 https 正常工作。 ws 在开发机器上也运行良好
const socket = io.connect('wss://' + ENDPOINT + ':3002', {
path: '/doctor/persona/',
transports: ['websocket'],
secure: true
});
const socket = io.connect(ENDPOINT, {
path: '/doctor/persona/',
transports: ['websocket'],
secure: true
});
尝试过有或没有
secure = true
const io = require("socket.io")(server, {
origins: "*:*",
path: "/doctor/persona",
transports: ["websocket"],
rejectUnauthorized: false
});
EIO=3
无论那是什么
node js 服务器有 2 个服务,其中一个位于 :3000 主要处理 https,另一个位于 :3002 的 websocket 用于单个 websocket。
使用 nginx,会出现 502 错误,但每当套接字尝试时,无论是否有 nginx,pm2 日志似乎都不会更新。
location /doctor/persona/ {
proxy_pass https://localhost:3002/doctor/persona/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_read_timeout 30s;
proxy_connect_timeout 15s;
#proxy_ssl_server_name on;
proxy_set_header Host $http_host;
proxy_cache_bypass $http_upgrade;
}
SSL_do_handshake() failed (SSL: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:SSL alert number 40) while SSL handshaking to upstream
SSL 证书由 LetsEncrypt 提供。
我尝试过通过nginx代理,直接访问相关端口等。代码与
ws
和http
完美配合。 wss
还没有工作,我仍然不知道是什么失败了,因为 pm2 日志没有显示任何内容!