我的 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。