网站首页 > 技术教程 正文
配置资源库
1、配置资源规则详解
Spring Cloud Config是通过EnvironmentRepository来获取Environment对象解决的。该对象是对Spring的Environment(包括作为主要配置属性的propertySources)对象的浅拷贝。在加载Environment相应资源时参数变化成了以下变量:
- {application}:对应客户端配置中的spring.application.name。
- {profile}:对应客户端配置中的spring.profiles.action。
- {label}:对应配置服务端所配置的spring.cloud.config.label。
- 当配置客户端启动时,根据bootstrap.yml中配置的应用名称(spring.application.name)、环境名(spring.profiles.active),向配置服务器请求获取配置数据。
- 配置服务器根绝客户端的请求参数、以及配置文件中所配置的标签(spring.cloud.config.label),从git仓库中按照上述规则去查找服务的配置文件。
- 配置服务器将匹配到的git仓库拉取到本地,并建立本地缓存。
- 配置服务器根据拉取到的配置文件创建Spring的ApplicationContext实例,然后将该配置信息返回给客户端。
- 客户端获取到配置服务器返回的数据后,将这些配置数据加载到自己的上下文中。同时,因为这些配置数据的优先级高于本地JAR包中的配置,因为将不再加载本地的配置。
2、集成Git仓库
通过spring.cloud.config.server.git.uri属性设置好git地址,设置好git的用户名和密码。
3、搜索目录
如果配置文件直接放在git根目录下,则不需要进行设置。如果放到特定的子目录下,需要设置searchPath指定目录。
4、本地缓存
配置服务器从git获取配置信息后,将会在本地存储一份。但无法访问到git时,则会读取之前缓存在本地文件系统中的配置,将这些配置信息返回给客户端。
配置的加密与解密
1、安装JCE(Java Cryptography Extension)
Spring Cloud Config所提供的加解密依赖JCE是一组包,提供用于加密、秘钥生成算法和协议,以及消息认证码的算法及实现,这些包实现对称、非对称、块和流密码的加密支持。
- https://www.oracle.com/java/technologies/javase-jce8-downloads.html,下载JCE扩展包jce_policy-8.zip。
- 解压,获得两个jar包:local_policy.jar和US_export_policy.jar。
- 打开$JAVA_HOME/jre/lib/security目录,将该目录下的local_policy.jar和US_export_policy.jar文件备份到其他目录
- 将下载解压后的local_policy.jar和US_export_policy.jar复制过来。
2、使用对称加密
配置服务端:
3、加密/解密端点
- /encrypt:加密端点。使用该端点可以对所提供的字符串进行加密。
- /decrypt:解密端点。使用该端点可以对所要解密的字符串进行解密。
4、客户端解密
- 需要禁用掉配置服务端的解密处理。是否启用配置服务器的解密处理通过spring.cloud.config.server.encrypt.enabled属性控制。
- 在客户端项目,增加和服务器同样的秘钥。encrypt.key=test
- 为客户端增加spring-security-rsa依赖。
5、非对称加密
需要使用Java工具——Keytool。Keytool是一个Java数据证书的管理工具,Keytool使用keystore文件存储秘钥和证书。
keystore文件里包含两种数据:一种是秘钥实体-秘钥或者是私钥和配对公钥(采用非对称加密);另一种是可信任的证书实体,仅包含公钥。
需要使用Keytool生成一个秘钥对。
keytool -genkeypair -alias alias -keyalg RSA -dname "CN=test" -keypass secret -keystore server.jks -storepass password
然后将生成的server.jks文件复制到配置服务器的resources目录下。
修改配置文件
猜你喜欢
- 2024-11-27 分享一个vue.config.js 的完整配置(超详细)
- 2024-11-27 如何进行系统配置 ——用CONFIG.SYS做系统配置
- 2024-11-27 Nginx处理Http请求11个阶段之find_config,彻底搞明白匹配规则
- 2024-11-27 还在手撸 Nginx 配置?试试这款可视化配置工具吧,真心强大
- 2024-11-27 Flask Config类详解以及如何动态更新配置项
- 2024-11-27 SpringCloud系列——Config 配置中心
- 2024-11-27 Client-go客户端源码解析——Controller总体流程
- 2024-11-27 msconfig修改“处理器数和最大内存”,开不了机解决办法
- 2024-11-27 Creo配置Config.pro选项前图标含义
- 2024-11-27 cmake里面的multi config
你 发表评论:
欢迎- 01-09单因素方差分析+作图
- 01-09描述性统计分析 之 均值分析
- 01-0986:重复性和再现性分析GRR(2)-GRR均值极差分析法和方差分析法
- 01-09SPC如何做方差分析,意义又在哪里?
- 01-09MedSPSS小课堂——多因素方差分析
- 01-09MedSPSS小课堂——双因素方差分析
- 01-09SPSS单因素方差分析的操作步骤及结果解读,陈老师SPSS数据分析
- 01-0914单因素方差分析:One-Way ANOVA
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)