Kong环境Vault变量在Request Transformer插件中失效问题求助
问题排查与解决步骤
1. 修正Vault引用路径的语法错误
你的Env Vault配置中,config.prefix设置为SYSTEM_,这意味着Vault会自动在你引用的键名前添加该前缀来匹配环境变量。当前你写的{vault://system/system_gw_api_key}会被Vault解析为查找SYSTEM_system_gw_api_key环境变量,而实际你的环境变量是SYSTEM_GW_API_KEY,两者不匹配导致无法替换。
正确的引用路径应为:
x-gw-api-key:{vault://system/gw_api_key}
此时Vault会拼接前缀SYSTEM_ + gw_api_key,正好匹配你的环境变量SYSTEM_GW_API_KEY。
2. 确认Kong Gateway版本兼容性
Kong Gateway 3.0及以上版本才支持在插件配置中直接使用Vault引用语法。若你的Kong版本低于3.0,该特性不生效,会直接输出原始字符串。可通过以下命令查看版本:
kong version
版本过低需升级至3.0+。
3. 验证Vault实例的可用性
确保Env Vault实例配置正确且处于活跃状态,可通过Kong Admin API查询状态:
curl -X GET http://<kong-admin-url>/vaults/ed76d2a7-9ad1-441a-88ba-1eb121b366a2
检查返回结果中的config和prefix是否与你提供的配置一致,排除配置错误。
4. 检查插件配置格式
配置Request Transformer的add.headers时,需确保键值对格式正确,无额外转义字符。例如通过Kong Admin API配置时,应使用正确的JSON格式:
{ "name": "request-transformer", "config": { "add": { "headers": ["x-gw-api-key:{vault://system/gw_api_key}"] } } }
内容的提问来源于stack exchange,提问作者Tan Nguyen
相关产品推荐
相关产品推荐

