如果 SSL 已过期,您会得到什么 HTTP 代码?

What HTTP code do you get if an SSL has expired?

我有一个自定义监视器代码设置。我需要检查指定的 URL 的 SSL 证书是否已过期。是否有特定的 HTTP 代码?例如:

(async() => {
    const res = await fetch('http://example.com');
    // Or `statusText`
    if (res.status == some_ssl_expiryCode) {
        console.log('SSL expired!');
    }
})();

在 javascript 中有没有办法做到这一点?

谢谢。

客户端应用程序收到 HTTP 400 - 错误请求响应,消息为“SSL 证书错误”。

@Jasen所述,连接未到达服务器。 fetch 请求 returns 错误 CERT_HAS_EXPIREDCERT_INVALID。它不生成 HTTP 代码。请参阅下面的 javascript 代码。

import fetch from 'node-fetch';

fetch('https://example.com/')
    .then(async(res) => await res.text())
    .then(() => { // Do something if success })
            .catch(error => {
                console.error(error);
                if (error.code === 'CERT_HAS_EXPIRED') {
                    // Certificate has expired
                }
                if (error.code === 'CERT_INVALID') {
                    // Certificate is invalid
                }
            });

希望这对遇到此主题的其他人有所帮助!