【问题标题】:Socket.io - SSL through CloudflareSocket.io - 通过 Cloudflare 的 SSL
【发布时间】:2017-05-25 18:14:56
【问题描述】:

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

我不确定我的端口是否不正确,或者我完全遗漏了什么。

我很高兴提供更多代码 sn-ps。

提前致谢

【问题讨论】:

  • 您不需要 wss:// 网址吗?那个 wss 是否连接到一个普通的 WebSocket()? (只是暂时的)
  • 您正在尝试连接到端口443,而您的服务器正在侦听端口2096。试试name.com:2096

标签: javascript node.js sockets ssl cloudflare


【解决方案1】:

您只是在侦听错误的端口。 SSL 流量通常超过 443,为了解决这个问题,您应该替换:

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

这样的:

server.listen(443);

【讨论】:

    猜你喜欢
    • 2017-05-24
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 2018-09-09
    相关资源
    最近更新 更多