2017-01-11 91 views
1

我已经读过几乎所有可能的关于如何通过socket.io接收SSL的教程,我似乎无法使其工作。Socket.io - 通过Cloudflare的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() 

我不知道如果我的端口是不正确的,否则我失去了一些东西完全。

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

在此先感谢

+0

你不需要一个WSS:// URL ?这是否连接到一个普通的WebSocket()? (暂时) – dandavis

+0

当您的服务器正在侦听端口“2096”时,您正尝试连接到端口443。尝试https://name.com:2096 –

回答

1

你只是听着错误的端口上。 SSL流量服务过443平时,为了解决这个问题,你应该取代:

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

像这样的东西:

server.listen(443);