我们很高兴地宣布 Apache APISIX 3.11.0 版本已经发布,带来了一系列新功能、修复、以及相关用户体验优化。
此新版本增加了许多新功能,包括添加一系列 AI 插件以与 LLM 提供商集成、支持 AWS 和 GCP Secret Manager 进行秘密管理等等。
此外,该版本还包含了一些重要的变更。如果您发现这些变更会对您的使用产生影响,请进行相应的计划升级。
重大变更
删除 JWT 签名端点和私钥配置
删除先前由 jwt-auth
插件添加的 /apisix/plugin/jwt/sign
JWT 签名端点,以增强安全性。该插件现在不需要用户上传私钥来颁发 JWT。请使用其他程式签署 JWT。
有关更多详细信息,请参阅 PR #11597。
根据 RFC 重构 hmac-auth
插件
该插件实现现在基于 draft-cavage-http-signatures,并且可配置参数已变动。
有关更多详细信息,请参阅最新的插件文档以及 PR #11581
添加消费者凭证实体
添加凭据对象以存储与消费者关联的身份验证配置。消费者可以与指定的身份验证插件列表中的一个或多个凭据相关联,包括key-auth
、basic-auth
、jwt-auth
和 hmac-auth
。凭据的分离有利于凭据的重用和轮换以及增强的安全性。
例如,假设您有一个消费者 tom
:
curl -i "http://127.0.0.1:9180/apisix/admin/consumers" -X PUT \
-H "X-API-KEY: ${ADMIN_API_KEY}" \
-d '{
"username": "tom"
}'
要为 tom
配置消费者 key-auth
凭证,您可以使用凭证对象:
curl "http://127.0.0.1:9180/apisix/admin/consumers/tom/credentials" -X PUT \
-H "X-API-KEY: ${ADMIN_API_KEY}" \
-d '{
"id": "cred-tom-key-auth",
"plugins": {
"key-auth": {
"key": "secret-key"
}
}
}'
此功能不会引入任何重大更改。您仍可以在消费者上配置身份验证插件及其凭据。
此外,APISIX 将向经过身份验证的请求添加其他标头,包括 X-Consumer-Username
、X-Credential-Identifier
以及 X-Consumer-Custom-ID
(如果配置)。
添加新插件 attach-consmer-label
除了 X-Consumer-Username
和 X-Credential-Indentifier
之外,新的 attach-consumer-label
插件还会将自定义消费者相关标签附加到经过身份验证的请求中,以便上游服务区分消费者并实现其他逻辑。
添加新插件 ai-proxy
新插件 ai-proxy
通过将插件配置转换为指定的请求格式,简化了对 LLM 提供程序和模型的访问。
该插件目前仅支持将插件配置转换为 OpenAI 所需的请求格式,欢迎贡献。
添加新插件 ai-prompt-decorator
ai-prompt-template
插件支持提示模板的预配置,这些模板仅以“填空”方式接受指定模板变量中的用户输入。代理到 LLM 服务时使用该插件。
添加新插件 ai-prompt-template
ai-prompt-decorator
插件通过为预先设计的提示添加前缀和附加内容来修饰用户输入提示,以在内容生成中提供预设上下文。该实践有助于塑造模型在交互过程中应如何在所需的指导方针内运行。代理到 LLM 服务时使用该插件。
支持在 splunk-logger
插件中自定义 keepalive 超时
支持在 splunk-logger
插件参数中配置 keepalive 超时,以避免套接字在大规模情况下保持打开状态。如果未配置,默认 keepalive 超时将为 60000 毫秒。
有关更多信息,请参阅PR #11611。
支持 AWS 和 GCP Secret Manager
支持与 AWS Secrets Manager 和 GCP Secret Manager 集成以进行机密管理。
有关对 AWS Secrets Manager 的支持的更多信息,请参阅 使用 AWS Secrets Manager 管理机密 和 PR #11417。
有关对 GCP Secret Manager 的支持的更多信息,请参阅 使用 GCP Secret Manager 管理机密 和 PR #11436。
其他更新
- 更正
grpc-transcode
插件的pb_option_def
中 enums 的位置 (PR #11448) - 修复在消费者上配置非身份验证插件时出现的加密/解密错误 (PR #11600)
- 修复在配置文件中替换环境变量时出现的问题 (PR #11545)
变更日志
有关此版本的完整变更列表,请参阅 CHANGELOG。