node.js – 节点 – 出站连接的TLS版本的日志记录?

我想记录我的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"
点赞