如何將 HTTP 安全標頭新增至 CloudFront 回應?

上次更新日期:2022 年 5 月 23 日

我想要將 HTTP 安全標頭新增至 Amazon CloudFront 回應。該如何進行?

簡短描述

HTTP 安全標頭可改善 Web 應用程式的隱私權和安全性,並保護其免受用戶端漏洞攻擊。最常見的 HTTP 安全標頭包括:

CloudFront 回應標頭政策允許您將一個或多個 HTTP 安全性標頭新增至 CloudFront 回應。

解決方案

您可以使用受管安全性標頭回應政策,其中包含最常見 HTTP 安全性標頭的預先定義值。或者,您可以使用自訂安全標頭和值來建立自訂回應標頭政策,這些標頭和值可新增至所需的 CloudFront 行為。

透過 AWS Console 建立自訂回應標頭政策

  1. 開啟 CloudFront Console
  2. 從導覽選單中選擇 Policies (策略)。然後,選擇 Response headers (回應標頭)。
  3. 選擇 Create response headers policy (建立回應標頭政策)。
  4. Security headers (安全性標頭) 下,選取您要新增至政策的每個安全性標頭。針對每個標頭新增或選取所需的值。
  5. Custom headers (自訂標頭) 下,新增您想要 CloudFront 新增至回應的自訂安全性標頭和值。 
  6. 視需填寫其他欄位。然後,選取 Create (建立)。 

將回應標頭政策連接至快取行為

建立回應標頭政策後,將其連接至 CloudFront 分發中的快取行為。若要將受管或自訂安全性標頭回應政策連接至現有的 CloudFront 分發:
  1. 開啟 CloudFront Console
  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==

此文章是否有幫助?


您是否需要帳單或技術支援?