本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將自訂標頭新增至原始伺服器請求
您可以將 CloudFront 配置為將自訂標頭新增到傳送給您原始伺服器的請求。您可以使用自訂標頭,從原始伺服器傳送和收集一般瀏覽者請求無法取得的資訊。您甚至可以自訂每個原始伺服器的標頭。CloudFront 支援自訂原始伺服器和 Amazon S3 原始伺服器的自訂標頭。
使用案例
您可以使用自訂標頭,例如下列範例:
- 識別來自 CloudFront 的請求
- 
					您可以識別原始伺服器從 CloudFront 收到的請求。如果您想知道使用者正繞過 CloudFront,還是您正使用多個 CDN,並且想知道來自每個 CDN 的請求的資訊,這會是很實用的方法。 注意如果您使用的是 Amazon S3 原始伺服器,並且啟用 Amazon S3 伺服器存取記錄,則日誌不包含標頭資訊。 
- 判斷哪些請求是來自特定分發
- 
					如果您將多個 CloudFront 分發配置為使用同一個原始伺服器,您可以在每個分發中新增不同的自訂標頭。然後,您可以使用來自原始伺服器的日誌,判斷哪些請求來自哪個 CloudFront 分發。 
- 啟用跨來源資源分享 (CORS)
- 
					如果某些檢視器不支援跨原始伺服器資源分享 (CORS),您可以將 CloudFront 配置為一律將 Origin標頭新增到傳送給您原始伺服器的請求。接著,您可以將原始伺服器設定為針對每個請求傳回Access-Control-Allow-Origin標頭。您也必須配置 CloudFront ,才能遵循 CORS 設定。
- 控制內容的存取
- 
					您可以使用自訂標頭來控制內容的存取。您可以將原始伺服器配置為只有在包含 CloudFront 所新增的自訂標頭時才回應請求,藉此防止使用者繞過 CloudFront 並直接在原始伺服器上存取您的內容。如需詳細資訊,請參閱限制存取自訂原始伺服器上的檔案。 
設定 CloudFront 將自訂標頭新增至原始伺服器請求
若要將分佈設定為將自訂標頭新增到傳送給您原始伺服器的請求,請使用下列其中一種方法來更新原始伺服器設定:
- 
				CloudFront 主控台 – 當您建立或更新分佈時,請在新增自訂標頭設定中指定標頭名稱和值。如需詳細資訊,請參閱新增自訂標頭。 
- 
				CloudFront API – 針對您要為其新增自訂標頭的每個原始伺服器,在 Origin內的CustomHeaders欄位中指定標頭名稱和值。如需詳細資訊,請參閱《Amazon CloudFront API 參考》中的 CreateDistribution 或 UpdateDistribution。
如果您指定的標頭名稱和值尚未出現在檢視器請求中,CloudFront 會將它們新增到原始伺服器請求中。如果存在標頭,則在將請求轉送到原始伺服器之前,CloudFront 將覆寫標頭值。
如需套用至原始伺服器自訂標頭的配額,請參閱 標頭的配額。
CloudFront 無法新增到原始伺服器請求的自訂標頭
您無法將 CloudFront 配置為將任何以下標頭新增到傳送給您原始伺服器的請求:
- 
				Cache-Control
- 
				Connection
- 
				Content-Length
- 
				Cookie
- 
				Host
- 
				If-Match
- 
				If-Modified-Since
- 
				If-None-Match
- 
				If-Range
- 
				If-Unmodified-Since
- 
				Max-Forwards
- 
				Pragma
- 
				Proxy-Authenticate
- 
				Proxy-Authorization
- 
				Proxy-Connection
- 
				Range
- 
				Request-Range
- 
				TE
- 
				Trailer
- 
				Transfer-Encoding
- 
				Upgrade
- 
				Via
- 
				以 X-Amz-做為開頭的標頭
- 
				以 X-Edge-做為開頭的標頭
- 
				X-Real-Ip
 設定 CloudFront 轉送 Authorization標頭
		當 CloudFront 將檢視器請求轉送至您的原始伺服器時,CloudFront 預設會移除某些檢視器標頭,包括 Authorization 標頭。為了確保您的原始伺服器始終收到原始伺服器請求中的 Authorization 標頭,您有以下選項:
- 
				使用快取政策將 Authorization標頭新增至快取金鑰。快取金鑰中的所有標頭都會自動包含在原始伺服器請求中。如需詳細資訊,請參閱使用政策控制快取金鑰。
- 
				使用將所有檢視器標頭轉寄至原始伺服器的原始伺服器請求政策。您無法在原始伺服器請求政策中個別轉寄 Authorization標頭,但當您轉寄所有檢視器標頭時,CloudFront 會在檢視器請求中包含Authorization標頭。CloudFront 為此使用案例提供受管的原始伺服器請求政策,稱為 Managed-AllViewer。如需詳細資訊,請參閱使用受管原始伺服器請求政策。