首先,我设置了我的 Spring Cloud Config Server 的 bootstrap.yml 文件,然后在我的 IDEA 中启动它。
spring:
application:
name: config-server
profiles:
active:
# this value set can refer to : https://docs.spring.io/spring-cloud-config/docs/2.2.x/reference/html/#vault-backend
- vault
cloud:
config:
server:
vault:
port: "8200"
host: "127.0.0.1"
kv-version: 2
server:
port: 8071
然后,我执行以下命令(此命令拉取Vault的1.13.2版本docker镜像):
docker run --cap-add=IPC_LOCK -d -p 8200:8200 --name vault -e 'VAULT_DEV_ROOT_TOKEN_ID=myroot' -e 'VAULT_DEV_LISTEN_ADDRESS=0.0.0.0:8200' vault
接下来,我通过访问以下网址在 Vault Web UI 中设置我的秘密属性:
http://localhost:8200/ui/vault/auth
我使用
myroot
登录,并启用版本为2的秘密引擎(kv),path
是licensing-service
.
接下来,我设置
path for this secret
为default
,secret data
为license.vault.property
(键)、Welcome to Vault
(值)。
保存后,我运行以下命令行:
curl -X "GET" "http://localhost:8071/licensing-service/default" -H "X-Config-Token: myroot"
但是获取不到秘密属性,只能得到如下响应:
{"name":"licensing-service","profiles":["default"],"label":null,"version":null,"state":null,"propertySources":[]}%
谁能说说为什么?正确的反应应该是这样的:
{
"name":"licensing-service",
"profiles":["default"],
"label":null,
"version":null,
"state":null,
"propertySources":[
{
"name": "vault:licensing-service",
"source": {
"license.vault.property": "Welcome to Vault"
}
}
]
}
希望有人能告诉我原因,我找不到错误。