我使用
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.