与socket.io Cloudflare SSL握手失败

这是我正在使用的代码:

"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上,当它尝试build立连接时返回525错误。

如果有问题,我的SSL设置在Cloudflare上设置为Full(严格)。

对于SSL,节点v8中是否有更改,我不知道?

任何帮助,将不胜感激。

谢谢!

在节点8.5.0以后,已知SSL问题发生。 最好的解决办法是降级到8.5.0或更低,直到所有问题在几天内从节点方面得到修复。

来源: 问题

更多更新: 更新