要求在查看器和 CloudFront 之间使用 HTTPS 进行通信
您可以在 CloudFront 分配中配置一个或多个缓存行为,以便要求在查看器和 CloudFront 之间使用 HTTPS 进行通信。您也可以配置一个或多个缓存行为以允许 HTTP 和 HTTPS,以便 CloudFront 对某些对象要求使用 HTTPS,而对其他对象不做这一要求。配置步骤取决于您在对象 URL 中使用的域名:
-
如果您使用 CloudFront 指派给您的域名(例如 d111111abcdef8.cloudfront.net),您可以针对要求 HTTPS 通信的一个或多个缓存行为更改 查看器协议策略设置。在该配置中,CloudFront 提供 SSL/TLS 证书。
要使用 CloudFront 控制台更改查看器协议策略值,请参阅本节后面的步骤。
有关如何使用 CloudFront API 更改
ViewerProtocolPolicy
元素值的信息,请参阅《Amazon CloudFront API 参考》中的 UpdateDistribution。 -
如果您使用自己的域名(例如 example.com),则需要更改若干 CloudFront 设置。您还需要使用 Amazon Certificate Manager (ACM) 提供的 SSL/TLS 证书,或将证书从第三方证书颁发机构导入到 ACM 或 IAM 证书存储。有关更多信息,请参阅 使用备用域名和 HTTPS。
注意
如果您希望确保在 CloudFront 从源获取对象并且查看器从 CloudFront 获取这些对象时,对象得到了加密,请始终在 CloudFront 和您的源之间使用 HTTPS。如果您最近在 CloudFront 和您的源之间从 HTTP 更改为 HTTPS,建议您使 CloudFront 边缘站点中的对象失效。CloudFront 将对象返回给查看器,而无论查看器使用的协议(HTTP 或 HTTPS)与 CloudFront 用于获取对象的协议是否匹配。有关删除或替换分配中的对象的更多信息,请参阅 添加、删除或替换 CloudFront 分配的内容。
要求查看器使用 HTTPS
如果针对一个或多个缓存行为要求在查看器和 CloudFront 之间使用 HTTPS,请执行以下步骤。
将 CloudFront 配置为要求在查看器与 CloudFront 之间使用 HTTPS
登录 Amazon Web Services Management Console,并通过以下网址打开 CloudFront 控制台:https://console.amazonaws.cn/cloudfront/v4/home
。 -
在 CloudFront 控制台的顶部窗格中,选择您要更新的分配的 ID。
-
在行为选项卡中,选择要更新的缓存行为,然后选择编辑。
-
为查看器协议策略指定以下值之一:
- Redirect HTTP to HTTPS
-
查看器可以使用两种协议。HTTP
GET
和HEAD
请求会自动重定向到 HTTPS 请求。CloudFront 返回 HTTP 状态代码 301(永久移动)以及新的 HTTPS URL。然后,查看器会使用此 HTTPS URL 将请求重新提交到 CloudFront。重要
如果您通过 HTTP 使用 HTTP 到 HTTPS 的缓存行为以及请求协议版本 HTTP 1.1 或更高版本发送
POST
、PUT
、DELETE
、OPTIONS
或PATCH
,CloudFront 会使用 HTTP 状态代码 307(临时重定向)将请求重定向到 HTTPS 位置。这可确保使用相同的方法和正文负载将请求再次发送到新位置。如果您使用低于 HTTP 1.1 的请求协议版本通过 HTTP 到 HTTPS 的缓存行为发送
POST
、PUT
、DELETE
、OPTIONS
或PATCH
请求,CloudFront 将返回 HTTP 状态代码 403(禁止访问)。在查看器发出将重定向到 HTTPS 请求的 HTTP 请求时,会产生针对这两个请求的 CloudFront 费用。对于 HTTP 请求,仅对该请求和 CloudFront 返回到查看器的标头计费。对于 HTTPS 请求,对该请求、标头和由源返回的对象计费。
- 仅 HTTPS
-
查看器只有使用 HTTPS 才能访问您的内容。如果查看器发送 HTTP 请求而不是 HTTPS 请求,则 CloudFront 将返回 HTTP 状态代码 403(禁止访问)且不会返回对象。
-
选择 Save changes(保存更改)。
-
针对要求在查看器和 CloudFront 之间使用 HTTPS 的其他每个缓存行为,重复步骤 3 到 5。
-
请确认以下内容,然后在生产环境中使用更新后的配置:
-
每个缓存行为中的路径模式仅适用于您希望查看器使用 HTTPS 的请求。
-
缓存行为按您希望 CloudFront 评估它们的顺序列出。有关更多信息,请参阅 路径模式。
-
缓存行为将请求路由到正确的源。
-