如何向 CloudFront 响应添加 HTTP 安全标头?

1 分钟阅读
0

我想向 Amazon CloudFront 响应添加 HTTP 安全标头。我该如何操作?

简短描述

HTTP 安全标头可提高 Web 应用程序的隐私和安全性,并保护其免受客户端漏洞的侵害。最常见的 HTTP 安全标头有:

CloudFront 响应标头策略允许您将一个或多个 HTTP 安全标头添加到来自 CloudFront 的响应。

解决方法

您可以使用托管安全标头响应策略,该策略包含最常见 HTTP 安全标头的预定义值。或者,您可以使用可添加到所需 CloudFront 行为的自定义安全标头和值创建自定义响应标头策略。

从 AWS 控制台创建自定义响应标头策略

  1. 打开 CloudFront 控制台
  2. 从导航菜单中选择 **Policies(策略)。**然后,选择 Response headers(响应标头)。
  3. 选择 Create response headers policy(创建响应标头策略)。
  4. Security headers(安全标头)下,选择要添加到策略中的每个安全标头。为每个标头添加或选择所需的值。
  5. Custom headers(自定义标头)下,添加您希望 CloudFront 添加到响应中的自定义安全标头和值。
  6. 根据需要填写其他字段。然后,选择 Create(创建)。

将响应标头策略附加到缓存行为

创建响应标头策略后,将其附加到 CloudFront 分发中的缓存行为。要将托管或自定义安全标头响应策略附加到现有 CloudFront 分发,请执行以下操作:

  1. 打开 CloudFront 控制台
  2. 选择要更新的分发。
  3. Behaviors(行为)选项卡下,选择要修改的缓存行为。然后选择 Edit(编辑)。
  4. 对于 Response headers policy(响应标头策略),请选择 SecurityHeadersPolicy 或选择您创建的自定义策略。
  5. 选择 Save changes(保存更改)。

以下是使用 HTTP 安全响应标头的 CloudFront 响应示例:

curl -I https://dxxxxxxxbai33q.cloudfront.net

HTTP/2 200

content-type: text/html

content-length: 9850

vary: Accept-Encoding

date: xxxxxxxxx

last-modified: xxxxxxx

etag: "c59c5ef71f3350489xxxxxxxxxx"

x-amz-server-side-encryption: AES256

cache-control: no-store, no-cache, private

x-amz-version-id: null

accept-ranges: bytes

server: AmazonS3

x-xss-protection: 1; mode=block

x-frame-options: SAMEORIGIN

referrer-policy: strict-origin-when-cross-origin

x-content-type-options: nosniff

strict-transport-security: max-age=31536000

x-cache: Miss from cloudfront

via: 1.1 12142717248e0e7148a5c1a9151ab918.cloudfront.net (CloudFront)

x-amz-cf-pop: BOS50-C3

x-amz-cf-id: nHNANTZYdkQkE5BmsqlisPTiodFhVCK-Sf9Zp4iJzNs04eWi1_hEig==

AWS 官方
AWS 官方已更新 2 年前