nacos2.3 密碼驗證的處理過程

济南小老虎發表於2024-04-24

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登入了
如果不設定使用者 會提示 使用者不存在
如果密碼不正確, 會登入失敗. 

相關文章