Socket.io - 通过 Cloudflare 的 SSL

Socket.io - SSL through Cloudflare

我已经通读了几乎所有关于如何通过 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);