如果可能的话,我想记录我的 Node 应用程序正在使用哪些版本的 TLS,而无需更改任何代码。
我已经尝试了NODE_DEBUG=tls,http
和DEBUG=*
,这当然向日志中添加了很多信息,但没有关于正在使用的TLS版本的信息。
这可能吗?
我不确定是否不更改代码,但您可以像这样记录:
const tls = require('tls');
const url = 'someurl';
console.log('Connecting..');
const socket = tls.connect(443, url, () => {
console.log('Tls.connect', socket.authorized ? 'authorized' : 'unauthorized');
console.log('Cipher: ' + JSON.stringify(socket.getCipher()));
console.log('Protocol: ' + JSON.stringify(socket.getProtocol()));
});
这将给出如下输出:
Listening...
Connecting..
Tls.connect authorized
Cipher: {"name":"ECDHE-RSA-AES128-GCM-SHA256","version":"TLSv1/SSLv3"}
Protocol: "TLSv1.2"