【发布时间】:2018-05-08 06:39:26
【问题描述】:
根据spring cloud config文档,如果我们想禁用服务端解密并由客户端处理,我们可以在服务端的application.yml中放入如下属性:
spring:
cloud:
config:
server:
encrypt.enabled: false
在服务器端,定义一个环境变量ENCRYPT_KEY 然后调用curl 来获取加密密码,我更新配置文件然后我提交它
export ENCRYPTED=`curl config-server/encrypt -d ms-password-prod`
echo "spring.data.mongodb.paswword='{cipher}$ENCRYPTED'" >> establishment-services-prod.yml
现在,当我打电话时
curl -v config-server:9090/establishment-services/prod
我希望看到加密的密码,但我得到了解密的密码。
我使用了spring-boot 1.5.8 和spring-cloud Dalston.SR4。
您可以在我的Github 帐户中找到所有代码。
【问题讨论】:
-
您可以尝试在您的配置服务器设置中将
spring.cloud.config.server.encrypt.enabled移动到bootstrap.yml吗? -
将
spring.cloud.config.server.encrypt.enabled移动到bootstrap.ymll解决了这个问题。我认为有必要将这种替代方案视为一种解决方案。请把您的评论作为接受它的答案。
标签: java spring-boot spring-cloud-config