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

1 分钟阅读
0

我想向 Amazon CloudFront 响应添加 HTTP 安全标头,

简短描述

HTTP 安全标头可提高 Web 应用程序的隐私保护和安全性,保护应用程序抵御客户端漏洞的攻击。常见的 HTTP 安全标头如下:

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

解决方法

可以使用托管式安全标头响应策略,其中包含最常见 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. 选择保存更改

以下是带有 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 官方已更新 9 个月前