選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

新增 CloudFront 請求標頭

焦點模式
新增 CloudFront 請求標頭 - Amazon CloudFront

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

您可以設定 CloudFront,將特定的 HTTP 標頭新增到 CloudFront 從檢視者接收到的請求,並轉送至您的原始伺服器或邊緣函數。這些 HTTP 標頭的值皆基於檢視者請求的特性。標頭提供有關檢視器的裝置類型、IP 地址、地理位置、請求通訊協定 (HTTP 或 HTTPS)、HTTP 版本、TLS 連線詳細資訊、JA3 指紋和 JA4 指紋的資訊。

有了這些標題,您的原始伺服器或邊緣函數即可接收有關檢視器的資訊,而不需要您編寫自己的程式碼來判斷此資訊。如果您的原始伺服器根據這些標頭中的資訊傳回不同的回應,則可以將它們包含在快取金鑰中,以便 CloudFront 單獨快取不同的回應。例如,您的原始伺服器可能會根據檢視器所在國家/地區使用特定語言的內容進行回應,或者使用針對特定裝置類型訂製的內容。您的原始伺服器還可能會將這些標頭寫入日誌檔案,您可以使用這些檔案來確定有關檢視器所在位置、檢視器所在的裝置類型等資訊。

如果您想要在快取金鑰中包含標頭,請使用快取政策。如需更多詳細資訊,請參閱 使用政策控制快取金鑰了解快取金鑰

要在原始伺服器中接收這些表頭,但不將它們包含在快取金鑰中,請使用原始伺服器請求政策。如需詳細資訊,請參閱使用政策控制原始伺服器請求

裝置類型標頭

可以新增下列標頭來判斷檢視者的裝置類型。根據 User-Agent 標頭的值,CloudFront 將這些標頭的值設定為 truefalse。如果裝置屬於多個類別,一個以上的值可以是 true。例如,針對一些平板電腦裝置,CloudFront 將 CloudFront-Is-Mobile-ViewerCloudFront-Is-Tablet-Viewer 同時設定為 true

  • CloudFront-Is-Android-Viewer - 當 CloudFront 判斷檢視器為具有 Android 作業系統的裝置時,設定為 true

  • CloudFront-Is-Desktop-Viewer - 當 CloudFront 判斷檢視器為桌上型裝置時,設定為 true

  • CloudFront-Is-IOS-Viewer - 當 CloudFront 判斷檢視器為具有 Apple 行動作業系統的裝置 (例如 iPhone、iPod Touch 以及一些 iPad 裝置) 時,設定為 true

  • CloudFront-Is-Mobile-Viewer - 當 CloudFront 判斷檢視器為行動裝置時,設定為 true

  • CloudFront-Is-SmartTV-Viewer - 當 CloudFront 判斷檢視器為智慧型電視時,設定為 true

  • CloudFront-Is-Tablet-Viewer - 當 CloudFront 判斷檢視器為平板電腦時,設定為 true

檢視器位置標頭

可以新增下列標頭來判斷檢視者的位置。CloudFront 會根據檢視器的 IP 地址來決定這些標頭的值。對於這些標頭值中的非 ASCII 字元,CloudFront 會根據 RFC 3986 的 1.2 節對字元進行百分比編碼。

  • CloudFront-Viewer-Address - 包含檢視者 IP 地址以及請求的來源連接埠,例如標頭值 198.51.100.10:46532 表示瀏覽器的 IP 地址是 198.51.100.10,請求來源連接埠是 46532。

  • CloudFront-Viewer-ASN - 包含檢視器的自治系統編號 (ASN)。

    注意

    CloudFront-Viewer-AddressCloudFront-Viewer-ASN 可以在原始伺服器請求政策中新增,而不是在快取政策中新增。

  • CloudFront-Viewer-Country – 包含檢視器國家/地區的兩個字母國家/地區代碼。如需國家/地區代碼的清單,請參閱 ISO 3166-1 alpha-2

  • CloudFront-Viewer-City - 包含檢視器所在城市的名稱。

當您新增下列標頭時,CloudFront 會將它們套用至所有請求,源自 AWS 網路的請求除外:

  • CloudFront-Viewer-Country-Name – 包含檢視器所在國家/地區的名稱。

  • CloudFront-Viewer-Country-Region – 包含代表檢視器區域的代碼 (最多三個字元)。該區域是 ISO 3166-2 代碼的第一層細分 (即最廣泛或最不具體的一層)。

  • CloudFront-Viewer-Country-Region-Name – 包含檢視器區域的名稱。該區域是 ISO 3166-2 代碼的第一層細分 (即最廣泛或最不具體的一層)。

  • CloudFront-Viewer-Latitude – 包含檢視器的約略緯度。

  • CloudFront-Viewer-Longitude – 包含檢視器的約略經度。

  • CloudFront-Viewer-Metro-Code – 包含檢視器的地鐵代碼。只有當檢視器在美國時,才會出現此問題。

  • CloudFront-Viewer-Postal-Code – 包含檢視器的郵遞區號。

  • CloudFront-Viewer-Time-Zone 包含檢視器的時區,採用 IANA 時區資料庫格式 (例如,America/Los_Angeles)。

注意

CloudFront-Viewer-CityCloudFront-Viewer-Metro-CodeCloudFront-Viewer-Postal-Code可能無法用於每個 IP 地址。某些 IP 地址無法以足夠的特異性進行地理位置定位,以取得該資訊。

用來判斷檢視器標頭結構的標頭

您可以新增下列標頭,協助根據檢視者傳送的標頭來識別檢視者。例如,不同的瀏覽器可能會以特定順序傳送 HTTP 標頭。若 User-Agent 標頭中指定的瀏覽器與該瀏覽器的預期標頭順序不同,您可以拒絕該請求。此外,若 CloudFront-Viewer-Header-Count 值與 CloudFront-Viewer-Header-Order 中的標頭數量不同,您也可以拒絕該請求。

  • CloudFront-Viewer-Header-Order – 按要求的順序包含檢視者的標頭名稱,並以冒號分隔。例如:CloudFront-Viewer-Header-Order: Host:User-Agent:Accept:Accept-Encoding。超出 7,680 字元限制的標頭會被截斷。

  • CloudFront-Viewer-Header-Count – 包含檢視者標頭的總數。

您可以新增下列標頭,以判斷檢視器的 JA3 指紋、JA4 指紋和 TLS 連線詳細資訊:

  • CloudFront-Viewer-JA3-Fingerprint – 包含檢視者的 JA3 指紋。JA3 指紋可協助您判斷請求是來自已知用戶端、惡意軟體或惡意機器人,或預期的 (允許清單中的) 應用程式。

  • CloudFront-Viewer-JA4-Fingerprint – 包含檢視器的 JA4 指紋。與 JA3 指紋類似,JA4 指紋可協助您判斷請求是來自已知用戶端,無論是惡意軟體還是惡意機器人,還是預期的 (允許清單) 應用程式。您可以使用指紋來建置資料庫,其中包含在檢查 HTTP 請求時要套用的已知良好和不良行為者。然後,您可以在應用程式 Web 伺服器或 Lambda@EdgeCloudFront Functions 中檢查標頭值,將標頭值與已知惡意軟體指紋清單進行比較,以封鎖惡意用戶端。

  • CloudFront-Viewer-TLS – 包含 SSL/TLS 版本、密碼以及有關用於檢視器和 CloudFront 之間連線的 SSL/TLS 交握的詳細資訊。標頭值的格式如下:

    SSL/TLS_version:cipher:handshake_information

    對於 handshake_information,標頭可包含下列值:

    • fullHandshake – 已針對 SSL/TLS 工作階段進行完整交握。

    • sessionResumed – 之前的 SSL/TLS 工作階段已恢復。

    • connectionReused – 之前的 SSL/TLS 連線已重複使用。

    下列是此標頭的一些範例值:

    TLSv1.3:TLS_AES_128_GCM_SHA256:sessionResumed
    TLSv1.2:ECDHE-ECDSA-AES128-GCM-SHA256:connectionReused
    TLSv1.1:ECDHE-RSA-AES128-SHA256:fullHandshake
    TLSv1:ECDHE-RSA-AES256-SHA:fullHandshake

    有關此標頭值中可能存在的 SSL/TLS 版本和密碼的完整列表,請參閱 檢視器和 CloudFront 之間支援的通訊協定和密碼

備註
  • JA3 和 JA4 指紋衍生自 SSL/TLS Client Hello封包。它們僅適用於 HTTPS 請求。

  • 對於這些 TLS 相關標頭,您可以將它們新增至原始伺服器請求政策,但不能新增至快取政策

其他 CloudFront 標題

您可以新增下列標頭,以判斷檢視器的原始請求 URI、原始請求查詢字串參數和值、通訊協定和版本:

  • CloudFront-Error-Args – 包含從檢視器收到的原始請求 URI。

  • CloudFront-Error-Uri – 包含原始請求查詢字串參數和值。

  • CloudFront-Forwarded-Proto – 包含檢視器請求的通訊協定 (HTTP 或 HTTPS)。

  • CloudFront-Viewer-Http-Version – 包含檢視器請求的 HTTP 版本。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。