节点 - 记录出站连接的 TLS 版本



如果可能的话,我想记录我的 Node 应用程序正在使用哪些版本的 TLS,而无需更改任何代码。

我已经尝试了NODE_DEBUG=tls,httpDEBUG=*,这当然向日志中添加了很多信息,但没有关于正在使用的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"

最新更新