我目前在 Ubuntu 12.04 上遇到 OpenSSL 的一个已知问题。这个问题已经在 Debian 中得到解决,我希望它也能很快在 Ubuntu 中得到解决。但是,与此同时,我需要一个解决方法。
那么是否有可能在 Node 中禁用 TLS1 并具有与 tls1
开关等效的东西:
openssl s_client -tls1 -connect evernote.com:443
这是一个简单的 Node.js 脚本来复制问题(在 Ubuntu 12.04 w/OpenSSL 1.0.1 上)
var https = require('https');
https.get({
host: 'www.evernote.com',
path: '/',
port: 443
}, function (res) {
console.log('Success!');
});
最佳答案
从documentation来看和来源( 1 , 2 ),应该可以将选项对象传递给包含类似内容的request
options = { secureProtocol: 'TLSv1_method' }
为了将 TLSv1(仅此)用于此特定连接。
默认使用OpenSSL的SSLv23_method,即使用双方可能理解的最高TLS/SSL版本。
虽然在 OpenSSL 本身中是可能的,但据我所知,不可能在 node.js 中将特定的 TLS 版本列入黑名单(如“使用可能的最高版本,但绝不使用这个”),必要的标志这样做不会在 node.js 本身中导出。
关于node.js - 在 node.js 中禁用 TLS 1.1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10774226/