【发布时间】:2018-06-10 14:45:24
【问题描述】:
我目前正在开发一个具有微服务架构的应用程序。我现在有两个服务:产品服务和配置服务。
配置服务扮演spring cloud config server的角色,product service扮演spring cloud config客户端的角色。
要启动我的应用程序,首先应该运行配置服务,然后是产品服务,这样产品服务可以要求其配置(application.properties)文件来建立与数据库的连接等。我现在想要的是加密一些敏感属性,如数据库凭据。为什么?因为如果你到达云配置服务的端点http://localhost:8888/productservice/env,你会发现这些信息是纯文本的,这不好。
暂时我想使用对称加密,所以如果我在我的操作系统中将变量环境设置为 ENCRYPT_KEY,我的 spring 云配置服务器应该加密和解密我的数据。
我正在使用 Windows 10 并使用 set 命令,我可以看到 ENCRYPT_KEY 已使用正确的密码正确设置。
但是,当我尝试使用云配置服务器的 POST 方法到达 /encrypt 端点时,它会以 404 not found 响应:
{
"description": "No key was installed for encryption service",
"status": "NO_KEY"
}
我使用的是 Edgware.RELEASE 版本的 spring-cloud。
谢谢
【问题讨论】:
-
你解决过这个问题吗?如果不能,您可以包含 manage/env 端点的输出吗?
标签: java spring-boot encryption spring-cloud spring-cloud-config