Socket.io – 通过Cloudflare的SSL

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

我不确定我的端口是不正确的还是我完全错过了一些东西。

我很高兴提供更多的代码片段。

提前致谢

你只是听错了端口。 SSLstream量通常在443以上,为了解决这个问题,你应该replace:

server.listen(2096, "IP Address");

有了这样的事情:

server.listen(443);