跳到主要内容

参数

请参阅 插件通用配置 了解所有插件可用的配置选项。

该插件支持使用 env:// 前缀引用环境变量中的敏感参数值,或使用 secret:// 前缀引用 Secret 管理器(如 HashiCorp Vault 的 KV 密钥引擎 中的值。更多信息,请参阅环境变量中的插件Secrets

  • exact

    object


    精确匹配缓存的设置;仅当规范化后的请求与此前缓存的某个请求完全相同时,才复用其响应。

    • ttl

      integer


      default: 3600


      vaild vaule:

      大于或等于 1


      缓存条目的存活时间(TTL),单位为秒。

  • cache_key

    object


    用于控制缓存键作用范围的设置。

    • share_across_routes

      boolean


      default: false


      如果为 true,缓存键不包含路由 ID,因此不同路由上的相同请求可以共享缓存的响应。如果为 false,每个路由拥有各自独立的缓存作用范围。

    • include_consumer

      boolean


      default: false


      如果为 true,缓存键中包含消费者名称,因此缓存的响应按消费者隔离。

    • include_vars

      array[string]


      default: []


      要纳入缓存键作用范围的额外上下文变量名称,使这些变量取值不同的请求不会共享缓存的响应。

  • max_cache_body_size

    integer


    default: 1048576


    vaild vaule:

    大于或等于 0


    允许缓存的响应体最大大小,单位为字节。超过该大小的响应不会被缓存。

  • cache_headers

    boolean


    default: true


    如果为 true,插件会添加 X-AI-Cache-Status 响应头(缓存命中时还会添加 X-AI-Cache-Age)。设置为 false 可省略这些响应头。

  • fail_mode

    string


    default: skip


    vaild vaule:

    skipwarnerror


    当请求因未选中任何 AI 实例而无法缓存时(例如路由未同时配置 ai-proxyai-proxy-multi)的行为。取值为 skip 时,请求将不经检查直接放行。取值为 warn 时,请求将放行并记录一条警告日志。取值为 error 时,请求将以 HTTP 500 被拒绝。

  • bypass_on

    array[object]


    一组请求头匹配规则。如果某个请求匹配任意一条规则,则绕过缓存,并将响应的 X-AI-Cache-Status 标记为 BYPASS

    • header

      string


      required


      vaild vaule:

      非空


      要匹配的请求头名称。

    • equals

      string


      required


      规则匹配时请求头必须等于的值。

  • policy

    string


    default: redis


    vaild vaule:

    redis


    缓存存储后端。目前仅支持 redis

  • redis_host

    string


    required


    vaild vaule:

    至少 2 个字符


    Redis 服务器的地址。当 policyredis 时必填。

  • redis_port

    integer


    default: 6379


    vaild vaule:

    大于或等于 1


    Redis 服务器的端口。

  • redis_username

    string


    使用 Redis ACL 时用于 Redis 认证的用户名。

  • redis_password

    string


    用于 Redis 认证的密码。

  • redis_database

    integer


    default: 0


    vaild vaule:

    大于或等于 0


    Redis 服务器的数据库编号。

  • redis_timeout

    integer


    default: 1000


    vaild vaule:

    大于或等于 1


    Redis 操作的超时时间,单位为毫秒。

  • redis_ssl

    boolean


    default: false


    如果为 true,使用 TLS 连接 Redis。

  • redis_ssl_verify

    boolean


    default: false


    如果为 true,验证 Redis 服务器的 TLS 证书。