根据spring cloud配置文档,如果我们要禁用服务器端解密并由客户端处理它,我们可以在服务器的application.yml中放入以下属性:
spring:
cloud:
config:
server:
encrypt.enabled: false
在服务器端,定义一个env变量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帐户中找到所有代码。
答案 0 :(得分:10)
将spring.cloud.config.server.encrypt.enabled
键移动到配置服务器的bootstrap
配置文件应该可以解决问题。
查看项目文档,我不确定这是解决方法还是预期的行为,因为似乎只有encrypt.*
个键属于引导程序配置。
这可能是您可以在the issue tracker spring-cloud-config上报告的错误或文档增强功能。