学习SpringCloud-config踏平的坑

2019-04-03  本文已影响0人  黑仔yt

菜鸡黑仔,记录学习SpringCloud随记         2019-04-03

SpringCloud-config: 配置中心 以及 客户端

1:配置中心

    1.1 依赖是spring-cloud-config-server  而不是习惯用的各种start的依赖 spring-cloud-starter-config-server(错)    

    1.2 git仓库为私有时 yml配置文件需要账号密码,公开仓库则无所谓,(yml文件写上账号密 会快些)

    1.3 git仓库上的配置文件格式

application:程序名, profile:配置文件环境, label:git的分支,默认master

/{application}/{profile}[/{label}]

/{application}-{profile}.yml

/{label}/{application}-{profile}.yml

/{application}-{profile}.properties

/{label}/{application}-{profile}.properties

本例子:git上面有  config-server-dev.yml和 config-server-pro.yml

访问:http://127.0.0.1:2201/config-server/dev

http://127.0.0.1:2201/config-server/pro

访问后打印的json数据,其中 "propertySources":[]   为空这样是获取不到git上面的信息,配置中心失败

    1.4 配置文件加密,首先把jce版本的jar放到本地 {JAVA_HOME}/jre/lib/security目录下

[JCE for JDK8下载地址http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html]

然后加密密钥需写在 bootstrap.yml文件中(bootstrap.yml优先级比application.yml高),

对称密钥 encrypt: key: didispace

写在application.yml中时 出现

{

 "description":"No key was installed for encryption service",

    "status":""

}

配置完后 可以看相关端点,postman请求既可看到端点信息

/encrypt/status:查看加密功能状态的端点       【get】

/key:查看密钥的端点

/encrypt:对请求的body内容进行加密的端点   【post】

/decrypt:对请求的body内容进行解密的端点   【post】

相关例子:

    1.5 {cipher}sdfsdfsdffsdfsdfsd    配置文件中通过密钥 加密密文,带上前缀。如果远程属性源包含加密内容(以{cipher}开头的值),则在通过HTTP发送到客户端之前,它们将被解密。

如果要为config客户端应用程序设置远程配置存储库,可能会包含一个application.yml,例如:不同点 有引号无引号之分

application.yml

spring:

  datasource:

    username: dbuser

    password: '{cipher}8121eefc7b082d4c2c5c879e36e3b0a95f3cccebbc03d9b1475f10afdbeeae70'

.properties文件中的加密值不能用引号括起来,否则不会解密该值:

application.properties

spring.datasource.username: dbuser

spring.datasource.password: '{cipher}8121eefc7b082d4c2c5c879e36e3b0a95f3cccebbc03d9b1475f10afdbeeae70'

2:客户端

    2.1 客户端指定获取 配置中心 配置文件的config-server-git位置,配置信息需要写在bootstrap.yml中,不然代码中 @value 获取不到配置文件中的信息

项目启动报错Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'foo' in value "${foo}"

上一篇下一篇

猜你喜欢

热点阅读