参数
请参阅 插件通用配置 了解所有插件可用的配置选项。
uri
string
必填
外部授权服务的 URI。
ssl_verify
boolean
默认值:
true如果为 true,验证授权服务的 SSL 证书。
request_method
string
默认值:
GET有效值:
GET或POSTAPISIX 用来向外部授权服务发送请求的 HTTP 方法。默认情况下,APISIX 向外部授权服务发送 GET 请求。
当设置为
POST时,APISIX 会向外部授权服务发送 POST 请求以及请求 Body。但这并不推荐。如果授权决策取决于 POST Body 中的请求参数,建议使用$post_arg.*提取所需字段,并通过extra_headers字段传递它们。这种方法避免了发送完整的请求 Body,减少了开销,并使授权服务专注于通过头信息进行决策。max_req_body_size
integer
默认值:
67108864当
request_method为POST时,缓冲并转发到外部授权服务的最大请求体大小,单位为字节(默认 67108864 字节,即 64 MB)。请求体大于此限制的请求将以 HTTP 413 被拒绝。自 API7 企业版 3.9.14 和 APISIX 3.17.0 起可用。request_headers
array[string]
默认值:
[]应转发到外部授权服务的客户端请求头。如果未配置,则仅转发 APISIX 添加的头,例如
X-Forwarded-*。upstream_headers
array[string]
默认值:
[]应转发到上游服务的外部授权服务响应头。如果未配置,则没有头会被转发到上游服务。
client_headers
array[string]
默认值:
[]当认证失败时,应转发给客户端的外部授权服务响应头。如果未配置,则没有头会被转发给客户端。
extra_headers
timeout
integer
默认值:
3000有效值:
介于 1 和 60000 之间(含边界值)
外部授权服务 HTTP 调用的超时时间(以毫秒为单位)。
keepalive
boolean
默认值:
true如果为 true,则保持连接打开以用于多个请求。
keepalive_timeout
integer
默认值:
60000有效值:
大于或等于 1000
建立的 HTTP 连接在关闭前的空闲时间。
keepalive_pool
integer
默认值:
5有效值:
大于或等于 1
连接池中的最大连接数。
allow_degradation
boolean
默认值:
false如果为 true,允许 APISIX 在插件或其依赖项不可用时继续处理请求(不使用插件)。
status_on_error
integer
默认值:
403有效值:
介于 200 和 599 之间(含边界值)
当外部授权服务出现网络错误时,返回给客户端的 HTTP 状态码。