我的 CloudFront 分配和负载均衡器之间的 HTTP 连接有效,但 HTTPS 连接失败。为什么?
上次更新时间:2020 年 8 月 6 日
我使用 Classic Load Balancer 或 Application Load Balancer 作为我的 Amazon CloudFront 分配源。我在负载均衡器上配置了 HTTPS 和 HTTP 侦听器,但 CloudFront 现我的负载均衡器之间的 HTTPS 通信失败。如果我仅将我的分配上的源协议策略更改为 HTTP,则连接有效。我如何解决 HTTPS 通信问题?
解决方法
HTTPS 通信失败可能由关联的 SSL 证书、安全组或网络访问控制列表 (ACL) 的问题导致。请确保您的分配和负载均衡器符合以下安全要求:
- 您必须在负载均衡器上安装了有效的 SSL 证书。如果您在安装了 SSL 证书后仍然收到 HTTPS 错误,则排除 CloudFront 与自定义源服务器之间的 SSL 连接的故障。
- 如果您的 CloudFront 分配通过端口 443 连接到您的负载均衡器,则与负载均衡器关联的安全组必须允许端口 443 上来自 CloudFront IP 地址的流量。有关更新安全组的更多信息,请参阅为 Classic Load Balancer 配置安全组或 Application Load Balancer 的安全组。
- 与您的负载均衡器的 Amazon Virtual Private Cloud (Amazon VPC) 关联的网络 ACL 必须允许 HTTPS 端口(通常为端口 443)上来自 CloudFront 的流量。
注意:Application Load Balancers 可使用服务器名称指示 (SNI) 支持具有智能选择功能的多个 TLS 证书。如果您的 CloudFront 分配基于主机标头缓存,则请验证 Application Load Balancer 拥有配置为相同名称的 TLS 证书。否则,Application Load Balancer 提供其默认证书,这可能不匹配与来自 CloudFront 的 ClientHello 消息关联的 SNI。