无法在Spring云配置服务器中禁用解密服务器端

时间:2017-11-24 09:23:46

标签: java spring-boot spring-cloud-config

根据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.8spring-cloud Dalston.SR4

您可以在我的Github帐户中找到所有代码。

1 个答案:

答案 0 :(得分:10)

spring.cloud.config.server.encrypt.enabled键移动到配置服务器的bootstrap配置文件应该可以解决问题。

查看项目文档,我不确定这是解决方法还是预期的行为,因为似乎只有encrypt.*个键属于引导程序配置。

这可能是您可以在the issue tracker spring-cloud-config上报告的错误或文档增强功能。