我已经阅读了几乎所有关于如何通过 socket.io 接收SSL的教程,但我似乎无法让它工作。
我的后端JS如下:
var express = require('express');
var options = {
key: fs.readFileSync('/key.key'),
cert: fs.readFileSync('/crt.crt'),
requestCert: true
};
var app = express();
var server = require('https').createServer(options, app);
var io = require('socket.io').listen(server);
server.listen(2096, "IP Address");
前端 JS:
SOCKET = io('https://name.com:443', {secure: true});
我使用的是完整的 SSL,在我的服务器上安装了 cloudflare 签名证书。
连接时还收到以下错误:
POST https://name.com/socket.io/?EIO=3&transport=polling&t=LcBk2Vk 404()
我不确定我的端口是否正确,或者我完全错过了一些东西。
我很乐意提供更多的代码片段。
提前致谢
您只是在错误的端口上侦听。SSL流量通常通过443提供,为了解决这个问题,您应该替换:
server.listen(2096, "IP Address");
像这样:
server.listen(443);