当客户端尝试使用 HTTPS 连接访问我的网站时,收到证书错误消息。如何解决此问题?

上次更新日期:2020 年 10 月 16 日

我正在使用 AWS Certificate Manager (ACM) 颁发的证书。我的客户收到警告信息,提示连接不安全或并非私密。我该如何处理这些证书错误消息?

简短描述

如果您使用的是 HTTPS 连接,则必须拥有服务器证书。服务器证书是由证书颁发机构 (CA) 签名的 x.509 v3 数据结构。服务器证书包含服务器名称、有效期、公钥和其他数据。当您的浏览器访问 Web 服务器时,所有数据字段必须有效。您的浏览器认为无效数据字段是不安全的连接。

在以下情况下,您可能会收到证书错误消息:

  • 证书对于服务器名称无效。
  • 证书已过期。
  • 网站的 SSL/TLS 证书不受信任。
  • 您的连接并非完全安全。

解决方法

证书对于服务器名称无效

检查您所访问的域,然后检查证书中包含的域名。您可以使用浏览器查看域名,也可以通过检查证书详细信息来确定域名。URL 中的域必须至少与证书中包含的一个域名匹配。

如果您使用的名称为通配符 (*),则通配符仅与一个子域级别匹配。例如,* .example.com 可以保护 login.example.com 和 test.example.com,但该通配符无法保护 test.login.example.com 或 example.com。如果 example.com 和 www.example.com 可以访问您的网站,您可以将多个域名添加到您的证书,以涵盖您的网站的其他可能域名和子域名。

证书已过期

如果您使用 ACM 颁发的证书,则 ACM 会自动尝试续订证书。如果证书已过期,您必须颁发或导入新的证书。颁发新证书后,请确认您的 DNS 记录指向使用了 ACM 证书的 AWS 资源(例如负载均衡器)。有关更多信息,请参阅排查托管证书续订问题

网站的 SSL/TLS 证书不可信

ACM 颁发的证书受大多数现代浏览器、操作系统和移动设备的信任。将浏览器更新到最新版本,或尝试从其他计算机和浏览器访问域。如果您使用 AWS Certificate Manager (ACM) 导入了自签名证书,则某些浏览器无法信任该证书。要解决此错误,请使用 ACM 请求公共证书或联系您的 CA。

您的连接并非完全安全

如果初始请求和部分网页通过 HTTPS 建立,而其他部分通过 HTTP 建立,则可能会出现混合内容。网页访问者会看到错误“Your connection is not fully secured”(您的连接并非完全安全)以及混合内容。这是因为源代码中的网页元素使用 HTTP 而不是 HTTPS。要解决此错误,请更新您的源代码,以通过 HTTPS 加载页面上的所有资源。