客户端与我的经典负载均衡器的 SSL/TLS 连接失败并显示“不可信证书”错误消息。当我尝试将 SSL/TLS 证书上传到我的经典负载均衡器时,也遇到错误。
简短描述
客户端与经典负载均衡器的 SSL/TLS 连接可能会失败,错误消息如下:
- “本网站提供的安全证书不是由可信的证书颁发机构颁发的。”
- “example.com 使用的安全证书无效。该证书不可信,因为颁发机构证书未知。”
- “example.com 使用的安全证书无效。该证书不可信,因为它是自签名的。”
如果您将 HTTPS/SSL 侦听器用于经典负载均衡器,则必须安装 SSL 证书。安装 SSL 证书后,您的经典负载均衡器可以终止 SSL/TLS 客户端连接。
SSL 证书具有有效期。您必须在其有效期结束之前替换证书。要替换证书,请创建并上传新证书。
如果您未上传中间证书链供负载均衡器使用,则 Web 客户端可能无法验证您的证书。使用 openssl s_client 命令来确定是否已将中间证书链上传到 AWS Identity and Access Management(IAM)服务。s_client 命令实施通用 SSL/TLS 客户端,该客户端使用 SSL/TLS 连接到远程主机。运行以下命令以连接到远程主机:
openssl s_client -showcerts -connect www.domain.com:443
如果命令返回“验证返回代码: 21(无法验证第一个证书)”,则表示缺少中间证书链。如果命令返回“验证返回代码: 0(正常)”,则证书上传成功。上传 SSL 证书时,以下原因可能会导致出现错误:
- 您可以上传证书文件,也可以复制并粘贴包含额外空格的证书。
- 您可上传证书文件,也可复制并粘贴不以 -----BEGIN CERTIFICATE----- 开头和以 -----END CERTIFICATE----- 结尾的证书。
- 公钥无效。
- 私钥无效。
- 密码套件或密钥出现问题。
解决方法
要解决不可信证书错误,请为您的负载均衡器上传 SSL 证书。在证书有效期结束之前替换证书。
使用 AWS Certificate Manager(ACM),您可以创建、导入和管理 SSL/TLS 证书。IAM 支持导入和部署服务器证书。ACM 是预置、管理和部署您的服务器证书的首选工具。
要解决您在上传 SSL 证书时遇到的错误,请遵循以下准则:
- 完成导入证书的先决条件。
- 如果您使用 IAM 上传证书,则执行相应步骤来上传服务器证书(AWS API)。
- 如果您使用 ACM 导入证书,则执行相应步骤来导入证书。
- 确认证书不包含额外空格。
- 确认证书不以 -----BEGIN CERTIFICATE----- 开头和以 -----END CERTIFICATE----- 结尾。
- 如果错误消息表明公钥证书无效,则公钥证书或证书链无效。如果证书在没有证书链的情况下成功上传,则证书链无效。否则,公钥证书无效。
如果公钥证书无效,则完成以下步骤:
- 确认公钥证书采用 X.509 PEM 格式。
- 有关有效证书格式的示例,请参阅故障排除。
如果证书链无效,则完成以下步骤:
- 确认证书链不包含您的公钥证书。
- 确认证书链使用正确的顺序。证书链必须包含证书颁发机构(CA)出具的指向根证书的所有中间证书。证书链以 CA 生成的证书开头,并以 CA 的根证书结尾。通常,CA 以正确的链式顺序,在捆绑文件中提供中间证书和根证书。使用您的 CA 提供的中间证书。请勿包含任何不涉及信任路径链的中间证书。
- 如果错误表明私钥证书无效,则私钥证书的格式不正确。或者,私钥证书已加密。确保私钥证书遵循故障排除中的私钥示例格式。此外,确认私钥证书不受密码保护。
相关信息
将证书导入 AWS Certificate Manager 中
适用于导入的证书和密钥格式