我想向 Amazon CloudFront 响应添加 HTTP 安全标头,
简短描述
HTTP 安全标头可提高 Web 应用程序的隐私保护和安全性,保护应用程序抵御客户端漏洞的攻击。常见的 HTTP 安全标头如下:
CloudFront 响应标头策略允许向来自 CloudFront 的响应添加一个或多个 HTTP 安全标头。
解决方法
可以使用托管式安全标头响应策略,其中包含最常见 HTTP 安全标头的预定义值。或者,可以使用自定义安全标头和值创建自定义响应标头策略,并添加到所需的 CloudFront 行为中。
在 AWS 管理控制台中创建自定义响应标头策略
- 打开 CloudFront 控制台。
- 从导航菜单中选择策略 (Policies)。然后,选择响应标头 (Response headers)。
- 选择创建响应标头策略 (Create response headers policy)。
- 在安全标头 (Security headers) 下,选择要添加到策略的每个安全标头。为每个标头添加或选择所需的值。
- 在自定义标头 (Custom headers) 下,添加想让 CloudFront 向响应添加的自定义安全标头和值。
- 根据需要填写其他字段。然后,选择创建 (Create)。
将响应标头策略附加到缓存行为
创建响应标头策略后,将其附加到 CloudFront 分配中的缓存行为。要将托管式或自定义安全标头响应策略附加到现有的 CloudFront 分配中,请执行以下操作:
- 打开 CloudFront 控制台。
- 选择要更新的分配。
- 在行为 (Behaviors) 选项卡下,选择要修改的缓存行为。然后,选择编辑 (Edit)。
- 对于响应标头策略 (Response headers policy),选择** SecurityHeadersPolicy** 或所创建的自定义策略。
- 选择保存更改。
以下是带有 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==