需要使用 HTTPS 才能在观看者之间进行通信 CloudFront - Amazon CloudFront

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

需要使用 HTTPS 才能在观看者之间进行通信 CloudFront

您可以在 CloudFront 分配中配置一个或多个缓存行为,要求在查看者和之间使用 HTTPS 进行通信 CloudFront。您还可以配置一个或多个缓存行为以同时允许 HTTP 和 HTTPS,这样某些对象 CloudFront 需要使用 HTTPS,而其他对象则不需要 HTTPS。配置步骤取决于您在对象 URL 中使用的域名:

  • 如果您使用的是 CloudFront 分配给分配的域名,例如 d111111abcdef8.cloudfront.net,则可以将一个或多个缓存行为的查看器协议策略设置更改为需要 HTTPS 通信。在该配置中,CloudFront 提供 SSL/TLS 证书。

    要使用 CloudFront 控制台更改 Viewer 协议策略的值,请参阅本节后面的步骤。

    有关如何使用 CloudFront API 更改ViewerProtocolPolicy元素值的信息,请参阅 Amazon CloudFront API 参考UpdateDistribution中的。

  • 如果您使用自己的域名 (例如 example.com),您需要更改若干 CloudFront 设置。您还需要使用 AWS Certificate Manager (ACM) 提供的 SSL/TLS 证书,或将证书从第三方证书颁发机构导入到 ACM 或 IAM 证书存储。有关更多信息,请参阅使用备用域名和 HTTPS

注意

如果您想确保查看者从您的来源获取的对象在从您的来源获取时 CloudFront CloudFront 已对其进行加密,请始终在源 CloudFront 和源之间使用 HTTPS。如果您最近在 CloudFront 和源之间从 HTTP 更改为 HTTPS,我们建议您使 CloudFront 边缘站点中的对象失效。 CloudFront 无论查看者使用的协议(HTTP 或 HTTPS)是否与用于获取对象的协议相匹配, CloudFront 都会将对象返回给查看者。有关删除或替换分配中的对象的更多信息,请参阅 添加、移除或替换 CloudFront分发内容

要要求在查看者之间使用 HTTPS 以及 CloudFront 一种或多种缓存行为,请执行以下步骤。

配置 CloudFront 为要求在查看者和之间使用 HTTPS CloudFront
  1. 登录AWS Management Console并打开 CloudFront 控制台,网址为https://console.aws.amazon.com/cloudfront/v4/home

  2. 在 CloudFront 控制台的顶部窗格中,选择要更新的发行版的 ID。

  3. Behaviors 选项卡中,选择要更新的缓存行为,然后选择 Edit

  4. 指定 Viewer Protocol Policy 的以下值之一:

    Redirect HTTP to HTTPS

    查看器可以使用两种协议。HTTP GETHEAD请求会自动重定向到 HTTPS 请求。 CloudFront 返回 HTTP 状态码 301(永久移动)以及新的 HTTPS 网址。然后,查看者 CloudFront 使用 HTTPS 网址将请求重新提交到。

    重要

    如果您通过 HTTP 发送POSTPUTDELETEOPTIONS、、或 PATCH HTTP 缓存行为且请求协议版本为 HTTP 1.1 或更高版本,则会将请求 CloudFront 重定向到 HTTP 状态码为 307 的 HTTPS 位置(临时重定向)。这可确保使用相同的方法和正文负载将请求再次发送到新位置。

    如果您通过 HTTP 向 HTTPS 缓存发送POSTPUTDELETEOPTIONS、、、或PATCH请求的请求协议版本低于 HTTP 1.1, CloudFront 则会返回 HTTP 状态码 403(禁止)。

    在查看器发出将重定向到 HTTPS 请求的 HTTP 请求时,会产生针对这两个请求的 CloudFront 费用。对于 HTTP 请求,仅对请求和 CloudFront 返回给查看者的标头收费。对于 HTTPS 请求,对该请求、标头和由源返回的对象计费。

    HTTPS Only

    查看器只有使用 HTTPS 才能访问您的内容。如果查看者发送 HTTP 请求而不是 HTTPS 请求,则会 CloudFront 返回 HTTP 状态码 403(禁止),并且不会返回对象。

  5. 选择是,编辑

  6. 对于要在查看者和之间使用 HTTPS 的其他缓存行为,请重复步骤 3 到 5 CloudFront。

  7. 请确认以下内容,然后在生产环境中使用更新后的配置:

    • 每个缓存行为中的路径模式仅适用于您希望查看器使用 HTTPS 的请求。

    • 缓存行为按您想要评估 CloudFront 的顺序列出。有关更多信息,请参阅路径模式

    • 缓存行为将请求路由到正确的源。