共计 1620 个字符,预计需要花费 5 分钟才能阅读完成。
1、设置配置中心的验证
一般情况下配置文件都是很重要、很敏感的,所以需要为 Config Server 加上验证功能。
1.1、引入依赖
<dependency> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-starter-security</artifactId> | |
</dependency> |
1.2、配置 ” 配置服务器 ” 的用户名和密码
在服务器端的配置文件中设置 ” 配置服务器 ” 的用户名和密码
# 用户名 | |
security.user.name=username | |
security.user.password=password |
1.3、在客户端的配置文件中设置 ” 配置服务器 ” 的用户名和密码
spring.cloud.config.username=username | |
spring.cloud.config.password=password |
2、加 / 解密配置文件
2.1、配置对称加密密钥
2.1.1、设置对称加 / 解密配置文件
如果要使用对称加密,则需要设置对称加密的密钥。设置方式简单,在配置文件 bootstrap.properties(需要自己创建) 中加入以下代码:
# 设置对称加密密钥 | |
encrypt.key=liu |
2.1.2、添加配置
spring.application.name=config-server | |
server.port=50027 | |
# 配置 git 仓库的地址 | |
spring.cloud.config.server.git.uri=https://github.com/lingfengxeon/spring-config | |
# git 仓库地址下的相对地址,可以配置多个,用, 分割。spring.cloud.config.server.git.search-paths=spring-config | |
# git 仓库的账号 | |
username= | |
# git 仓库的密码 | |
password= |
2.1.3、修改启动类
@SpringBootApplication | |
@EnableConfigServer | |
public class ConfigServerApplication {public static void main(String[] args) {SpringApplication.run(ConfigServerApplication.class, args); | |
} | |
} |
2.1.4、访问:http://localhost:50027/encrypt/status
2.1.5、使用 Post Man 访问:http://localhost:50027/encrypt
2.2、用非对称加密方式加 / 解密配置文件
2.2.1、生成 keystore
非对称加密需要用到 Java 制作证书的工具 keytool。可以通过 keytool 工具提供的命令 ”-genkeypair” 来创建证书
keytool -genkeypair -alias "alias test" -keypass "keypass" -keyalg "RSA" -storepass "storepass"
2.2.2、复制密钥文件
把生成的非对称密钥复制到 Spring Cloud Config 项目的 classpath 目录下
2.2.3、添加配置信息
encrypt.key-store.location=classpath/test.jks | |
#alias | |
encrypt.key-store.alias=alias test | |
#密钥 key | |
encrypt.key-store.secret=keypass | |
#密码是 | |
encrypt.key-store.password=storepass |
2.2.4、测试加密
启动项目后,用 POST 方式提交 key 到 http://localhost:50027/encrypt 即可完成加密
2.2.5、解密
用 POST 方式提交 key 到 http://localhost:50027/decrypt 即可完成解密
正文完
星哥玩云-微信公众号
