跳到主要内容

插件全局规则

本文档将介绍 APISIX 中插件全局规则的基本概念以及为什么需要它们。

在文档末尾探索其他资源,以获取有关相关主题的更多信息。

概述

在 APISIX 中,全局规则(Plugin Global Rules)对象用于创建在每个传入请求上触发并在绑定到对象(如路由服务消费者消费者组插件配置)的其他插件之前执行的插件。某些插件(如限流限速和可观测性插件)经常被全局启用,以便为 API 提供一致且全面的保护。

下图说明了一个为所有传入请求全局启用 key-auth 插件的示例。一旦请求通过身份验证,路由使用 proxy-rewrite 插件设置额外的请求头,这演示了插件执行顺序

key-auth 全局规则图解

此配置确保只有经过身份验证的请求才允许与上游服务交互。如果向 APISIX 发送请求:

  • 没有任何密钥或密钥错误,请求将被拒绝。
  • 带有 global-key 但请求不存在的路由,请求通过身份验证,但 APISIX 返回错误警告用户找不到路由。
  • 带有 global-key 请求现有路由,请求首先通过身份验证,然后请求头被路由上的插件修改,最后请求被转发到上游服务。

上面的示例在全局规则和路由中使用了两个不同的插件。如果同一个插件在两个对象中都配置了,则该插件的两个实例将按顺序执行,而不是相互覆盖。

其他资源