Amazon CloudFront
开发人员指南 (API 版本 2016-09-29)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

将 HTTPS 与 CloudFront 一起使用

对于 Web 分配,您可以将 CloudFront 配置为要求查看器使用 HTTPS 请求您的对象,以便在 CloudFront 与查看器通信时加密连接。您也可以将 CloudFront 配置为使用 HTTPS 从源获取对象,以便在 CloudFront 与源通信时加密连接。

如果将 CloudFront 配置为要求使用 HTTPS 与查看器和源进行通信,在 CloudFront 收到对象请求时,将会发生以下情况。

  1. 查看器向 CloudFront 提交 HTTPS 请求。查看器和 CloudFront 之间存在一些 SSL/TLS 协商。最后,查看器以加密格式提交请求。

  2. 如果对象位于 CloudFront 边缘缓存中,CloudFront 将加密响应并将其返回到查看器,然后查看器对其进行解密。

  3. 如果对象没有位于 CloudFront 缓存中,则 CloudFront 与源执行 SSL/TLS 协商,在协商完成时,将请求以加密格式转发到源。

  4. 源对请求进行解密,对被请求的对象进行加密,并将对象返回到 CloudFront。

  5. CloudFront 解密响应,对其进行重新加密,然后将其转发到查看器。CloudFront 还会将对象保存在边缘缓存中,以便在下次请求时对象可用。

  6. 查看器对响应进行解密。

无论源是 Amazon S3 存储桶、MediaStore 还是 HTTP/S 服务器之类的自定义源,过程基本相同:

注意

为了帮助阻止 SSL 重新协商类型的攻击,CloudFront 不支持查看方和源请求的重新协商。

有关在查看器和 CloudFront 之间以及 CloudFront 和源之间如何使用 HTTPS 的信息,请参阅以下主题。