mengqiankang пре 1 месец
родитељ
комит
76d2f997b1
2 измењених фајлова са 6 додато и 3 уклоњено
  1. 1 1
      .env
  2. 5 2
      alien_gateway/config.py

+ 1 - 1
.env

@@ -13,7 +13,7 @@ REDIS_SENTINELS=192.168.2.251:36379,192.168.2.252:36379,192.168.2.253:36379
 REDIS_MASTER_NAME=mymaster
 REDIS_PASSWORD=my_password_123
 #REDIS_SENTINEL_USERNAME=default
-#REDIS_SENTINEL_PASSWORD=my_password_123
+REDIS_SENTINEL_PASSWORD=my_password_123
 # 下游服务地址
 STORE_BASE_URL="http://192.168.2.251:38001"# alien_store 服务地址
 

+ 5 - 2
alien_gateway/config.py

@@ -89,9 +89,12 @@ class Settings(BaseSettings):
     @property
     def REDIS_CELERY_SENTINEL_URL(self) -> str:
         # Celery/Kombu 兼容的 Sentinel URL:
-        # sentinel://host:port/db;sentinel://host:port/db
+        # sentinel://:password@host:port/db;sentinel://:password@host:port/db
+        # 哨兵节点本身需要认证时,密码放在 URL 的 auth 段
+        sentinel_pwd = self.REDIS_SENTINEL_PASSWORD or self.REDIS_PASSWORD
+        auth = f":{quote(sentinel_pwd, safe='')}@" if sentinel_pwd else ""
         return ";".join(
-            f"sentinel://{host}:{port}/{self.REDIS_DB}"
+            f"sentinel://{auth}{host}:{port}/{self.REDIS_DB}"
             for host, port in self.REDIS_SENTINEL_NODES
         )