Spring Cloud Vault配置测试遇写入错误,需改用vault kv put命令
解决Vault写入命令404错误的问题
嘿,这个问题我之前折腾过,根源在于Vault的KV(键值)引擎版本差异!
为什么会报错?
现在新版本的Vault默认启用的是KV v2引擎,而你参考的文档里用的vault write是KV v1引擎的命令。v2引擎的API路径和v1不一样,直接用v1的命令自然会返回404。
两种解决办法任你选:
办法一:改用KV v2的命令写入数据
直接用系统提示的vault kv put命令就可以了:
vault kv put secret/my-app foo=bar
验证数据是否写入成功可以用:
vault kv get secret/my-app
办法二:切换回KV v1引擎(适配旧文档)
如果你想继续用vault write命令,需要把默认的secret路径换成KV v1引擎:
- 先禁用当前的KV v2引擎:
vault secrets disable secret/ - 启用KV v1引擎并挂载到secret路径:
vault secrets enable -version=1 -path=secret kv - 现在就能用
vault write命令写入了:vault write secret/my-app foo=bar
额外提醒:Spring Cloud Vault的配置适配
如果你用的是KV v2引擎,记得在Spring项目的配置文件(比如application.yml)里加上这一行,让Spring能正确识别v2引擎的路径:
spring: cloud: vault: kv: version: 2
内容的提问来源于stack exchange,提问作者Arun
相关产品推荐
相关产品推荐

