

# 将 HTTPS 与 CloudFront 结合使用
<a name="using-https"></a>

您可以将 CloudFront 配置为要求查看器使用 HTTPS，以便在 CloudFront 与查看器通信时加密连接。您也可以将 CloudFront 配置为通过源使用 HTTPS，以便在 CloudFront 与源通信时加密连接。

如果您将 CloudFront 配置为要求使用 HTTPS 与查看器和您的源进行通信，当 CloudFront 接收请求时将发生以下操作。

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

1. 如果 CloudFront 边缘站点包含缓存响应，CloudFront 将为响应加密并将其返回给查看器，然后查看器对其进行解密。

1. 如果 CloudFront 边缘站点不包含缓存响应中，CloudFront 则与您的源执行 SSL/TLS 协商，当协商完成时，将请求以加密格式转发给您的源。

1. 您的源会对请求进行解密、处理（生成响应），加密响应，并将响应返回给 CloudFront。

1. CloudFront 对响应进行解密，并对其重新加密，然后将其转发给查看器。CloudFront 还将缓存边缘站点中的响应，以便在下次请求时可用。

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

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

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

或者，您可以为 CloudFront 分配启用双向身份验证。有关更多信息，请参阅 [CloudFront 的双向 TLS 身份验证（查看器 mTLS）源双向 TLS 与 CloudFront 结合使用](mtls-authentication.md)。

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

**Topics**
+ [要求在查看器和 CloudFront 之间使用 HTTPS](using-https-viewers-to-cloudfront.md)
+ [要求通过 HTTPS 连接到自定义源](using-https-cloudfront-to-custom-origin.md)
+ [要求通过 HTTPS 连接到 Amazon S3 源](using-https-cloudfront-to-s3-origin.md)
+ [查看器和 CloudFront 之间支持的协议和密码](secure-connections-supported-viewer-protocols-ciphers.md)
+ [CloudFront 与源之间受支持的协议和密码](secure-connections-supported-ciphers-cloudfront-to-origin.md)