Spring Cloud Config 服务端与 客户端之间的关系
Posted Archibald Witwicky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Cloud Config 服务端与 客户端之间的关系相关的知识,希望对你有一定的参考价值。
1、服务端有两个可配置项
# 是否在服务器端进行解密操作,默认开启。 # 如果改为不在服务器端开启(false) # 那么一定要将encrypt.key 删除。 # 否则会出现客户端无法解密。 # 为了安全性考虑,关闭服务器端解密功能 spring: cloud: config: server: encrypt: enabled: false # 服务器端解密功能开启 # 为了安全性考虑,关闭服务器端解密功能 #encrypt: # key: 12312321
1.1 spring.cloud.config.server.encrypt.enable 此项配置代表是否在服务器端解密数据,默认为true。
1.2 如果设置为true,且配置了 encrypt.key 则就可以在服务器端进行解密操作,如果没有encrypt.key 则加载时会报错。
1.2.1 也有可能不报错,这要看是否在服务器启东时就加载远程配置文件(spring.cloud.config.server.clone-on-start),如果是则加载时就报错。
1.2.2 也有可能没有配置启动就加载机制,则会等到使用到这个配置的时候进行远程配置的clone操作。
1.3 如果是false,则将密文原封不动的发送给客户端,此时encrypt.key 可有可无,因为不在服务器端进行解密配置,所以可以不配置。
1.4 如果要手动的加密一个明文,要开启 encrypt.key。curl -X POST http://localhost:8979/encrypt -d 待加密的明文
2、客户端有一个配置项
# 配置服务器地址 spring: application: name: thunisoft-microservice-foo cloud: config: uri: http://localhost:8979/ profile: dev label: master # 解密秘钥 encrypt: key: 12312321
2.1 如果服务器端配置了解密功能,已经在加载远程配置的时候,将加密的数据进行了解密操作,则客户端可以不做任何解密配置,可以直接使用。
2.2 如果服务器没有进行解密操作,返回的是原始加密数据,则要配置秘钥,进行解密操作。
以上是关于Spring Cloud Config 服务端与 客户端之间的关系的主要内容,如果未能解决你的问题,请参考以下文章
spring boot 2.0.3+spring cloud (Finchley)6配置中心Spring Cloud Config
第八章 分布式配置中心:Spring Cloud Config
创建配置中心服务端(Spring Cloud Config)
spring-cloud-config 服务器-org.springframework.cloud.config.server.environment.NoSuchRepositoryExceptio
spring.cloud.config.server.native.search-locations 不适用于 Spring Cloud Config 服务器中的占位符