nacos2.3 密碼驗證的處理過程
起因
自己在捯飭一套環境.
Redis和nginx基本上都是使用的最新版
nacos也是使用的最新容器模式.
想著服務註冊發現的nacos也用最新版.
然後發現最新版nacos改了一些地方, 這裡特意記錄一下.
關於nacos的簡介
“Nacos” 是一個阿里巴巴旗下的一個開源的、易於使用的
動態服務發現、配置和服務管理平臺。
它的名字代表著"Naming and Configuration Service"
(命名和配置服務)。Nacos 能夠幫助開發人員實現
微服務架構中的服務註冊、發現、配置管理等功能。
主要功能包括:
1. 服務發現與註冊(Service Discovery and Registration):
Nacos 可以幫助服務在微服務架構中進行註冊和發現,讓服務能夠找到彼此,實現服務間的通訊。
2. 動態配置管理(Dynamic Configuration):
透過 Nacos,可以集中管理配置資訊,隨時動態修改配置並實時生效,而不需要重啟應用。
3. 服務健康監測(Health Checks):
Nacos 提供對服務的健康檢查功能,可以根據服務狀態進行相應的處理。
4. 動態 DNS 服務(Dynamic DNS Service):
Nacos 可以作為動態 DNS 服務,實現動態路由的功能。
nacos的認證
nacos其實預設沒有認證
他主要是暴露8848 以及 8848+1000和8848+1001 的三個埠號.
預設網路聯通就可以使用.
所以這個服務是嚴格禁止不經過保護就暴露給外網的.
2.3之前的版本有一個預設的賬戶 nacos/nacos
並且登入之後可以 點選右上角的 nacos進行修改.
這樣就導致大家認為 訪問nacos服務也是有這樣一個非常簡單的使用者登入訪問策略了.
但是實際上不是這樣的. nacos2.3之前版本的 GUI介面的登入和後端服務的註冊是兩套.
後端登入是不需要任何許可權的.
為了避免產生歧義.
2.3 開始 進行了挖坑處理.
nacos2.3版本的修改
nacos 2.3 使用 standalone 方式啟動後
預設就可以登入,沒有輸入密碼的地方, 並且也沒有修改密碼的地方.
要想增加密碼 必須修改如下:
vim ../conf/application.properties
主要的配置專案其實就三處:
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true
nacos.core.auth.plugin.nacos.token.secret.key=$(base64 原文超過32位元組)
需要注意 可以使用 echo something32byteslength |base64 建立base64的編碼
修改密碼
增加了 nacos.core.auth.enabled
再次開啟 nacos的介面 會發現要求登入.
登入的預設使用者密碼是 nacos/nacos
登入後理理解修改密碼.
springboot連結
2.3之前的版本 nacos客戶端連線 nacos 是不需要認證的
但是2.3之後. 必須修改配置檔案才可以:
修改方位就是:
nacos:
discovery:
server-addr: 127.0.0.1:18848
username: nacos
password: ThePasswordUchanged
就可以使用 springboot登入了
如果不設定使用者 會提示 使用者不存在
如果密碼不正確, 會登入失敗.