如何解决使用 HTTPS 访问我的网站时发生的 ACM 证书错误?

1 分钟阅读
0

我使用了 AWS Certificate Manager(ACM)的证书通过 HTTPS 连接访问我的网站。但是,我收到了错误消息,提示连接不安全、不私密或不可信。

简短描述

如果您的网站使用 HTTPS 连接,则需要 SSL/TLS 证书。当您的浏览器访问网站时,服务器证书中的所有数据字段都必须有效。您的浏览器会识别无效的数据字段,认为连接不安全。

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

  • 该证书对服务器名称无效。
  • 证书已过期。
  • 该网站的 SSL/TLS 证书不可信。
  • 您的连接不是完全安全。
  • 该证书未与支持的 AWS 服务关联
  • HTTP 流量未重定向到 HTTPS。
  • 您的网站或应用程序使用固定的证书。
  • 证书透明度日志记录未开启。

解决方法

该证书对服务器名称无效

检查您的客户访问的域,然后检查服务器证书中包含的域名。使用浏览器查看域名并检查证书的详细信息。URL 中的域名必须与证书中包含的至少一个域名相匹配。如果您使用通配符名称(*),则通配符仅匹配一个子域级别。例如,*example.com 可以保护 login.example.comtest.example.com,但通配符无法保护 test.login.example.comexample.com

如果客户可以使用 example.comwww.example.com 来访问您的网站,那么请在您的证书中添加多个域名。添加的域名涵盖了您网站的其他可能的域名和子域名。有关更多信息,请参阅 ACM certificate characteristics

证书已过期

如果您使用 ACM 颁发的证书,则 ACM 会尝试自动续订该证书。如果证书已过期,则必须颁发或导入新证书。颁发新证书后,确认您的 DNS 记录指向使用 ACM 证书的 AWS 资源。有关更多信息,请参阅 Troubleshooting managed certificate renewal

该网站的 SSL/TLS 证书不可信

ACM 颁发的公开证书受到大多数现代浏览器、操作系统和移动设备的信任。将您的浏览器更新到最新版本,或者尝试从其他计算机和浏览器访问该域。如果您使用 ACM 导入自签名或公开颁发的证书,则某些浏览器不信任这种证书。

要解决此错误,请使用 ACM 申请公开证书,或联系您的证书颁发机构(CA)。

您的连接不是完全安全

如果初始请求和部分网站通过 HTTPS 建立,而其他部分通过 HTTP 建立,则可能会出现混合内容。如果内容混合,访问您网站的客户端会看到错误消息“Your connection is not fully secured”。这是因为源代码中的网站元素使用 HTTP 而不是 HTTPS。

要解决此错误,请更新您的源代码以通过 HTTPS 加载您网站上的所有资源。

该证书未与支持的 AWS 服务关联

您无法直接在基于 AWS 的网站或应用程序上安装 ACM 证书或私有 AWS 专用 CA 证书。必须使用支持的 AWS 服务配置 ACM 证书。有关更多信息,请参阅 Services integrated with ACM

HTTP 流量未重定向到 HTTPS

使用 ACM 证书配置的网站使用 HTTP 流量进行访问。您可以使用应用程序负载均衡器将 HTTP 请求重定向到 HTTPS。您也可以使用应用程序负载均衡器将一个域重定向到另一个域

如果您使用 Amazon CloudFront,则可以将分配配置为需要 HTTPS 流量。有关详细信息,请参阅如何将我的 CloudFront 分配配置为使用 SSL/TLS 证书?

您的网站或应用程序使用固定的证书

将您的网站或应用程序固定到 ACM 颁发的 SSL/TLS 证书并不是最佳做法。相反,将您的网站或应用程序固定到 Amazon 信任服务表中的所有 CA。

有关更多信息,请参阅我能否将在 AWS 上运行的应用程序固定到 ACM 颁发的证书?

证书透明度日志记录未开启

默认情况下,ACM 颁发的证书的证书透明度日志记录处于启用状态。如果您选择了退出透明度日志记录并想将其重新打开,则在续订颁发证书时必须激活透明日志记录。

相关信息

如何将 ACM SSL/TLS 证书与经典负载均衡器、应用程序或网络负载均衡器关联?

如何为我的经典负载均衡器上传 SSL 证书,以防止客户端收到“不可信证书”错误?

Importing certificates into ACM

AWS 官方
AWS 官方已更新 4 个月前