一、Git服務端的文件內容進行了加密處理,那麼是否是配置客戶端拿到內容以後須要解密呢? 二、答案顯然不是的,由於這樣解密的話,先不說實現起來的難易程度,單從表面上來說,如果加解密頻繁換的話,那客戶端是否是每次都得升級解密算法呢? 三、而 SpringCloud 配置客戶端不須要作什麼加解密的配置,加解密的配置在服務端作就行了; 四、這裏還順便列舉下配置路徑的規則: /**************************************************************************************** * 配置服務的路勁規則: * * /{application}/{profile}[/{label}] * /{application}-{profile}.yml * /{label}/{application}-{profile}.yml * /{application}-{profile}.properties * /{label}/{application}-{profile}.properties ****************************************************************************************/
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <artifactId>springms-config-client-encrypt</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <parent> <groupId>com.springms.cloud</groupId> <artifactId>springms-spring-cloud</artifactId> <version>1.0-SNAPSHOT</version> </parent> <dependencies> <!-- 客戶端配置模塊 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <!-- web模塊 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> </project>
server: port: 8260
##################################################################################################### # 配置服務客戶端Client應用入口(連接 ClientServer 測試) spring: cloud: config: uri: http://localhost:8255 # 連接 springms-config-server-encrypt 微服務 profile: prd # 選擇生產配置文件 label: master #當 ConfigServer 的後端存儲的是 Git 的時候,默認就是 master application: name: foobar #取 foobar-dev.yml 這個文件的 application 名字,即爲 foobar 名稱 #####################################################################################################
package com.springms.cloud.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * 配置客戶端Controller。 * * @author hmilyylimh * * @version 0.0.1 * * @date 17/10/18 * */ @RestController public class ConfigClientEncryptController { @Value("${profile}") private String profile; @GetMapping("/profile") public String getProfile(){ return this.profile; } }
package com.springms.cloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * 配置客戶端ConfigClient連接通過對稱加解密的配置微服務;<br/> * * (專門爲測試通過對稱加解密的配置微服務 springms-config-server-encrypt 微服務模塊)。<br/> * * @author hmilyylimh * * @version 0.0.1 * * @date 17/10/18 * */ @SpringBootApplication public class MsConfigClientEncryptApplication { public static void main(String[] args) { SpringApplication.run(MsConfigClientEncryptApplication.class, args); System.out.println("【【【【【【 ConfigClientEncrypt微服務 】】】】】】已啓動."); } }
/**************************************************************************************** 1、配置服務客戶端Client應用入口(連接通過對稱加解密的配置微服務)(專門爲測試通過對稱加解密的配置微服務 springms-config-server-encrypt 微服務模塊): 一、註解:pom.xml 先添加 configclient 的引用模; 二、編輯 bootstrap.yml 文件,注意註釋 profile 屬性,而後添加相關客戶端配置; spring: cloud: config: uri: http://localhost:8255 # 連接 springms-config-server-encrypt 微服務 profile: prd # 選擇生產配置文件 label: master #當 ConfigServer 的後端存儲的是 Git 的時候,默認就是 master application: name: foobar #取 foobar-dev.yml 這個文件的 application 名字,即爲 foobar 名稱 三、啓動 springms-config-server-encrypt 模塊服務,啓動1個端口; 四、啓動 springms-config-client-encrypt 模塊服務,啓動1個端口; 五、在瀏覽器輸入地址 http://localhost:8260/profile 正常狀況下會輸出配置文件的內容(內容爲:foobar-prd); 總結:正常打印,說明配置服務客戶端不須要作什麼加解密的配置,加解密的配置在服務端作就行了; ****************************************************************************************/
https://gitee.com/ylimhhmily/SpringCloudTutorial.gitjava
SpringCloudTutorial交流QQ羣: 235322432git
SpringCloudTutorial交流微信羣: 微信溝通羣二維碼圖片連接web
歡迎關注,您的確定是對我最大的支持!!!算法