我想要將 HTTP 安全標頭新增至 Amazon CloudFront 回應。該如何進行?
簡短描述
HTTP 安全標頭可改善 Web 應用程式的隱私權和安全性,並保護其免受用戶端漏洞攻擊。最常見的 HTTP 安全標頭包括:
CloudFront 回應標頭政策允許您將一個或多個 HTTP 安全性標頭新增至 CloudFront 回應。
解決方案
您可以使用受管安全性標頭回應政策,其中包含最常見 HTTP 安全性標頭的預先定義值。或者,您可以使用自訂安全標頭和值來建立自訂回應標頭政策,這些標頭和值可新增至所需的 CloudFront 行為。
透過 AWS Console 建立自訂回應標頭政策
- 開啟 CloudFront Console。
- 從導覽選單中選擇 **Policies (策略)。**然後,選擇 Response headers (回應標頭)。
- 選擇 Create response headers policy (建立回應標頭政策)。
- 在 Security headers (安全性標頭) 下,選取您要新增至政策的每個安全性標頭。針對每個標頭新增或選取所需的值。
- 在 Custom headers (自訂標頭) 下,新增您想要 CloudFront 新增至回應的自訂安全性標頭和值。
- 視需填寫其他欄位。然後,選取 Create (建立)。
將回應標頭政策連接至快取行為
建立回應標頭政策後,將其連接至 CloudFront 分發中的快取行為。若要將受管或自訂安全性標頭回應政策連接至現有的 CloudFront 分發:
- 開啟 CloudFront Console。
- 選擇您想要更新的分發。
- 在 Behaviors (行為) 索引標籤下,選取您想要修改的快取行為。然後,選擇 Edit (編輯)。
- 在 Response headers policy (回應標頭政策) 中,選擇 SecurityHeadersPolicy,或選擇您建立的自訂政策。
- 選擇 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==