【问题标题】:NET::ERR_CERT_COMMON_NAME_INVALID - Error MessageNET::ERR_CERT_COMMON_NAME_INVALID - 错误消息
【发布时间】:2019-10-01 23:14:26
【问题描述】:

我前段时间用 Flask 建立了一个网站。现在突然间,当我尝试导航到那里时,我得到以下信息:

NET::ERR_CERT_COMMON_NAME_INVALID

您的连接不是私密的 攻击者可能试图从 www.mysite.org 窃取您的信息(例如,密码、消息或信用卡)。了解更多

有人知道怎么回事吗?

【问题讨论】:

标签: python flask error-handling


【解决方案1】:

证书使用者替代名称可以是域名或 IP 地址。如果证书没有正确的 subjectAlternativeName 扩展名,用户会收到 NET::ERR_CERT_COMMON_NAME_INVALID 错误,让他们知道连接不是私有的。如果证书缺少 subjectAlternativeName 扩展,用户会在 Chrome DevTools 的“安全”面板中看到一条警告,告知他们缺少主题备用名称。

https://support.google.com/chrome/a/answer/7391219?hl=en

【讨论】:

    【解决方案2】:

    对于 Chrome 58 及更高版本,仅使用 subjectAlternativeName 扩展名,而不是 commonName 来匹配域名和站点证书。因此,如果您在证书中缺少主题备用名称,那么您将遇到 NET::ERR_CERT_COMMON_NAME_INVALID 错误。

    为了在 SSL 证书上拥有使用者备用名称 (SAN),您必须首先编辑您的 OpenSSL 配置。在 Ubuntu/Debian 上,可以在 /etc/ssl/openssl.cnf 找到该文件的标题为 [ v3_ca ] 的部分,您可以在此处添加带有 SAN 的行:

    subjectAltName = www.example.com
    

    【讨论】:

      【解决方案3】:

      错误的意思是:您在网络浏览器中使用的主机名与证书中使用的主机名不匹配。

      如果您的服务器有多个 DNS 条目,您需要将所有条目都包含在证书中,以便能够将它们与 https 一起使用。如果您使用它的 IP 地址访问服务器,例如 https://10.1.2.3,那么 IP 地址也必须出现在证书中(当然,这只有在您拥有一个永不更改的静态 IP 地址时才有意义)。

      【讨论】:

        猜你喜欢
        • 2020-12-20
        • 1970-01-01
        • 1970-01-01
        • 2018-09-26
        • 2019-08-07
        • 2017-08-06
        • 1970-01-01
        • 1970-01-01
        • 2017-11-18
        相关资源
        最近更新 更多