跳到主要内容
版本:3.9.x

企业版插件

API7 网关提供一系列面向企业场景的高级插件,用于流量管理、数据转换、身份认证和安全防护。这些插件帮助企业精细控制 API 流量、定制网关响应并保护 API。

插件库持续扩展,包括更灵活的限流算法、自定义错误页和网关响应转换等能力。你可以通过 API7 网关免费试用版探索企业版插件。

企业版插件​

以下按类别列出 API7 网关专有插件。插件清单会持续更新;完整列表请参阅 Plugin Hub。

API7 网关企业版插件按流量管理、转换、身份认证、安全和通用功能分组;下文列出各插件名称和用途

流量管理​

  • graphql-limit-count:根据 GraphQL 查询或变更操作的深度限制请求频率。
  • graphql-proxy-cache:缓存 GraphQL 查询响应。
  • oas-validator:根据指定的 OpenAPI 规范验证请求。
  • proxy-buffering:动态禁用 NGINX 的 proxy_buffering 指令,以支持 SSE(服务器发送事件)等流式上游服务。
  • traffic-label:根据自定义规则为流量添加标签,并依据标签及操作权重执行相应操作。
  • limit-count-advanced:除固定窗口外,还提供滑动窗口限流算法。

数据转换​

  • exit-transformer:根据 API7 网关插件返回的状态码、响应头和响应体定制网关响应。
  • soap:在 RESTful HTTP 与 SOAP 之间转换请求和对应的响应。

身份认证​

  • saml-auth:使 API7 网关作为服务提供方(SP),通过与身份提供方(IdP)交互,使用 SAML 2.0 对用户进行身份认证。

安全​

  • acl:检查发起请求的用户是否在访问控制列表中,从而允许或拒绝访问上游资源。
  • chaitin-waf:将流量发送到长亭雷池 SafeLine Web 应用防火墙进行检查,防范 SQL 注入、跨站脚本等常见 Web 攻击。
  • data-mask:在日志中遮盖来自请求头、请求体和 URL 查询参数的敏感信息。

通用功能​

  • error-page:在 API7 网关发生异常时定制返回的错误页。

使用场景​

以下是企业版插件的几个使用场景。更多信息请参阅插件文档。

隐去敏感信息​

使用 data-mask 插件遮盖日志中的敏感请求数据,例如记录请求体时遮盖其中的身份号码或出生日期。插件在日志阶段生效,转发给上游的请求和返回给客户端的响应保持原样。

为 SSE 禁用代理缓冲​

实时通知、股票行情和聊天等场景依赖上游 SSE(服务器发送事件)的及时传输。默认情况下,NGINX 的 proxy_buffering 指令可能在转发前缓冲数据,增加延迟。proxy-buffering 插件可以在运行时动态禁用该指令,让流式数据及时到达客户端。

定制错误页​

当 API7 网关返回 404、500、502 或 503 错误时,error-page 插件可返回定制错误页。例如,上游服务不可用或网关超时时,可以提供符合品牌风格、带有操作建议的页面。你可以为受支持的错误码分别配置页面。

使用滑动窗口限流​

limit-count-advanced 在 limit-count 的基础上支持滑动窗口算法。它统计最近一个配置时间段内的请求,不受固定窗口起点限制,因此可以缓和窗口交界处的流量突增。例如,电商平台的限时抢购 API 可以借此更平滑地分配请求,避免突发流量压垮系统。

使用访问控制列表​

acl 插件检查请求发起者是否在访问控制列表中,决定能否访问上游资源。用户身份可来自消费者标签,也可来自 Keycloak 等第三方身份提供方的用户信息。例如,多租户 SaaS 平台可以在网关处限制租户或团队访问指定 API,集中执行权限规则并降低未授权访问的风险。