2017-01-11 110 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);