将 HTTPS 与 CloudFront 结合使用
您可以将 CloudFront 配置为要求查看器使用 HTTPS,以便在 CloudFront 与查看器通信时加密连接。您也可以将 CloudFront 配置为通过源使用 HTTPS,以便在 CloudFront 与源通信时加密连接。
如果您将 CloudFront 配置为要求使用 HTTPS 与查看器和您的源进行通信,当 CloudFront 接收请求时将发生以下操作。
-
查看器向 CloudFront 提交 HTTPS 请求。查看器和 CloudFront 之间存在一些 SSL/TLS 协商。最后,查看器以加密格式提交请求。
-
如果 CloudFront 边缘站点包含缓存响应,CloudFront 将为响应加密并将其返回给查看器,然后查看器对其进行解密。
-
如果 CloudFront 边缘站点不包含缓存响应中,CloudFront 则与您的源执行 SSL/TLS 协商,当协商完成时,将请求以加密格式转发给您的源。
-
您的源会对请求进行解密、处理(生成响应),加密响应,并将响应返回给 CloudFront。
-
CloudFront 对响应进行解密,并对其重新加密,然后将其转发给查看器。CloudFront 还将缓存边缘站点中的响应,以便在下次请求时可用。
-
查看器对响应进行解密。
无论您的源是 Amazon S3 存储桶、MediaStore 还是 HTTP/S 服务器之类的自定义源,过程基本相同:
注意
为了帮助阻止 SSL 重新协商类型的攻击,CloudFront 不支持查看方和源请求的重新协商。
有关在查看器和 CloudFront 之间以及 CloudFront 和源之间如何使用 HTTPS 的信息,请参阅以下主题。