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);

最新更新