前面兩篇介紹了spring cloud config服務端和客戶端的簡單配置,本篇介紹如何保護config server及對應config client修改。html
保護config server,主要是使用spring security進行最簡單的basic安全認證(也可自定義認證方式,這裏不作擴展)git
配置服務端代碼示例:spring
在pom文件中增長依賴:bootstrap
<dependency> <!-- spring security 安全認證 --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
配置文件application.yml增長security配置:安全
security: basic: enabled: true #啓用基本認證(默認) user: #配置security用戶名密碼,默認值爲「user」的用戶名和隨機生成的密碼 name: user password: password123
啓動服務,測試一下。請求http://localhost:18083/master/config-server-dev.yml,會發現彈出了security的basic登陸驗證:服務器
輸入上面配置的用戶名密碼(user/password123),返回配置信息app
客戶端代碼示例:spring-boot
在pom文件中增長依賴:測試
<dependency> <!-- spring security 安全認證 --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
修改配置文件bootstrap.yml:spa
spring: application: name: config-client cloud: config: profile: test #對應spring.profiles.active label: master #分支名。當使用配置服務器是git時,默認是master # uri: http://localhost:18083 #更改配置服務器的位置,默認地址是http://localhost:8888 uri: http://user:password123@localhost:18083 #配置服務器增長了安全認證,這裏須要提供用戶名密碼 username: user #配置服務器的用戶名密碼,此配置會覆蓋uri中的配置 password: password123
在上面的配置中,能夠在uri上加上用戶名密碼,也能夠直接配置spring.cloud.config.username和spring.cloud.config.password,不事後面這種會覆蓋uri中的配置(至於爲何要設置這兩種配置方式,是由於當spring cloud config與註冊中心配合使用時,是沒有uri的,因此只能在下面配置username和password)
啓動服務,測試一下。請求http://localhost:18084/profile,返回配置信息:
至此,spring cloud config安全配置完成~