Cloudflare SSL 握手失败 socket.io

Cloudflare SSL handshake failed with socket.io

这是我正在使用的代码:

"use strict"
var express = require('express');
var https = require('https');
var app = express();
var bodyParser = require('body-parser');
app.enable('trust proxy');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
}));
var fs = require('fs');
var options = {
    cert: fs.readFileSync('ssl_certs/cert.pem'),
    key: fs.readFileSync('ssl_certs/privkey.pem'),
    requestCert: true,
};
var server = https.createServer(options, app);
var io = require('socket.io')(server);
var port = 2083
server.listen(port, "0.0.0.0", function() {
    console.log('Listening on port *:' + port + '.');
});

io.on('connection', function(socket) {
    console.log('connected!')
});

console.log("Running node " + process.version);

如果我使用 Node.js 版本 6.11.2,此代码工作得很好,但是在 Node.js 版本 8.9.0 上,它 returns 在尝试建立时出现 525 错误一个连接。

如果重要的话,我在 Cloudflare 上的 SSL 设置设置为完全(严格)。

Node v8 中是否有我不知道的 SSL 更改?

如有任何帮助,我们将不胜感激。

谢谢!

已知 SSL 问题会在节点 8.5.0 之后发生。最好的解决方案是降级到 8.5.0 或更低版本,直到几天内从节点端解决所有问题。

来源:Issue

更多更新:Updates