node.js – Nodejs https在ssl证书失败时不会失败

我使用
https library for nodejs使用以下代码发送https get请求.即使正在测试的服务器的证书已过期,我也会获得有效的200状态.

https.get(options, this.onResponseCallback.bind(this));

选项的价值如下所示.

{
    protocol: 'https: ',
    slashes: true,
    auth: null,
    host: 'XXXXXXXX',
    port: '443',
    hostname: 'XXXXXXXX',
    hash: null,
    search: 'XXXXXXXX',
    query: 'XXXXXXXX',
    pathname: '/XXXXXXXX/XXXXXXXX',
    path: '/XXXXXXXX/XXXXXXXX?XXXXXXXX',
    href: 'https://XXXXXXXX',
    headers: {
        'User-Agent': 'NodeUptime/3.0(https://github.com/fzaninotto/uptime)'
    },
    rejectUnauthorized: true
}

如果我在浏览器中点击相同的URL,我会收到以下错误.

如何在证书过期时让nodejs失败?

最佳答案 我认为浏览器安全策略比在节点中可以做的更严格.

您可以通过以下方式访问有关服务器证书的信息:

https.request(options, function(response){
  var cert = response.client.pair.cleartext.getPeerCertificate();
});

.valid_to就是你要找的.

有关更多信息TLS.

点赞