检查 HTTP 标头

适用于:所有 API 管理层级

使用 check-header 策略强制请求具有指定的 HTTP 标头。 可以选择查看标头是否具有某个特定值或一系列允许值之一。 如果检查失败,此策略会终止请求处理,并返回其所指定的 HTTP 状态代码和错误消息。

注意

按照策略声明中提供的顺序设置策略的元素和子元素。 详细了解如何设置或编辑 API 管理策略

策略语句

<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 标头的名称。 允许使用策略表达式。 不适用
failed-check-httpcode 在标头不存在或其值无效时需返回的 HTTP 状态代码。 允许使用策略表达式。 空值
failed-check-error-message 在标头不存在或其值无效的情况下,需要在 HTTP 响应正文中返回的错误消息。 此消息必须对任何特殊字符正确地进行转义。 允许使用策略表达式。 不适用
ignore-case 布尔值。 如果设置为 true,则在将标头值与一组可接受的值进行比较时,会忽略大小写。 允许使用策略表达式。 空值

元素

元素 说明 必需
value 添加这些元素中的一个或多个以指定允许的 HTTP 标头值。 指定了多个 value 元素时,如果任何一个值匹配,则可认为检查成功。

使用情况

  • 策略节:入站
  • 策略范围:全局、产品、API、操作
  • 网关:经典、消耗、自承载

示例

<check-header name="Authorization" failed-check-httpcode="401" failed-check-error-message="Not authorized" ignore-case="false">
    <value>f6dc69a089844cf6b2019bae6d36fac8</value>
</check-header>

后续步骤

有关使用策略的详细信息,请参阅: