檢查 HTTP 標頭
適用於:所有 APIM 層
使用 check-header
原則來強制各要求均需具有指定的 HTTP 標頭。 您可以選擇性地檢查標頭是否具有特定值或一系列允許值的其中一個。 如果檢查失敗,原則就會終止要求處理,並傳回原則所指定的 HTTP 狀態碼和錯誤訊息。
注意
請依照原則陳述式中提供的順序,來設定原則的元素和子元素。 深入了解如何設定或編輯 APIM 原則。
原則陳述式
<check-header name="header name" failed-check-httpcode="code" failed-check-error-message="message" ignore-case="true | false">
<value>Value1</value>
<value>Value2</value>
</check-header>
屬性
屬性 | 描述 | 是必要欄位 | 預設 |
---|---|---|---|
NAME | 要檢查的 HTTP 標頭名稱。 允許使用原則運算式。 | Yes | N/A |
failed-check-httpcode | 標頭不存在或具有無效值時要傳回的 HTTP 狀態碼。 允許使用原則運算式。 | Yes | N/A |
failed-check-error-message | 如果標頭不存在或具有無效值,要在 HTTP 回應本文中傳回的錯誤訊息。 此訊息必須正確逸出任何特殊字元。 允許使用原則運算式。 | Yes | N/A |
ignore-case | 布林值。 如果設定為 true ,則會在標頭值與一組可接受的值進行比較時,忽略大小寫。 允許使用原則運算式。 |
Yes | N/A |
元素
元素 | 描述 | 必要 |
---|---|---|
value | 新增這其中一或多個元素,以指定允許的 HTTP 標頭值。 指定多個 value 元素時,如果其中任何一個值相符,則會將檢查視為成功。 |
No |
使用方式
範例
<check-header name="Authorization" failed-check-httpcode="401" failed-check-error-message="Not authorized" ignore-case="false">
<value>f6dc69a089844cf6b2019bae6d36fac8</value>
</check-header>
相關原則
相關內容
如需使用原則的詳細資訊,請參閱:
- 教學課程:轉換及保護 API
- 原則參考,取得原則陳述式及其設定的完整清單
- 原則運算式
- 設定或編輯原則
- 重複使用原則設定
- 原則程式碼片段存放庫 (英文)
- Azure API 管理 原則工具組
- 使用 Microsoft Azure Copilot 撰寫原則