配置中心

springcloud config提供了3中配置中心---本地、文件系统、git
本文采用的是github作为配置中心。一般而言服务有3个配置文件dev、test、prod!

服务端

依赖文件

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>

代码

  1. 启动类添加@EnableConfigServer注解
  2. 创建bootstrap.yml配置文件添加以下内容
server:
  port: 5000
spring:
  application:
    name: microStage-config
  cloud:
    config:
      server:
        encrypt:
          enabled: false
        git:
          uri: https://github.com/NKUlpj/microStage_Config.git
##加密秘钥
encrypt:
  key: nkul

效果

启动后在浏览器输入http://localhost:5000/application/dev,其中application为配置文件名,dev为环境,即可看到效果!

配置文件内容加密

此处内容需要评论回复后(审核通过)方可阅读。

客户端

依赖文件

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--undertow容器-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-rsa</artifactId>
</dependency>

配置文件

spring:
  cloud:
    config:
      uri: http://localhost:5000
      name: application
      profile: dev
      label: master
##加密秘钥
encrypt:
  key: nkul

测试

测试节点
结果

  1. 密钥客户端和服务端要统一,且配置文件中的加密串是通过此密钥加密而来的;
  2. 配置文件一定是bootstrap.yml,千万不要用application.yml。即使要用,密钥也得放在bootstrap.yml文件中;
  3. 加密的属性要以{cipher}开头,且加引号。

Last modification:March 27th, 2020 at 01:06 am