WRONGPASS 连接到 redis 6.0+ 时,用户名-密码对无效或用户被禁用

Dol*_*hin 6 redis

我尝试连接 redis 6.0+,这是我现在配置的 Python celery redis 代理 url:

broker_url = redis://:default:123456@cruise-redis-headless.reddwarf-cache.svc.cluster.local:6379/5
celery_result_backend = redis://:default:123456@cruise-redis-headless.reddwarf-cache.svc.cluster.local:6379/5
Run Code Online (Sandbox Code Playgroud)

但是当我使用以下命令启动芹菜时:

root@pydolphin-service-6fc4b98f54-msfql:~/pydolphin# celery -A dolphin.tasks.tasks worker --loglevel=INFO -n worker2 -Q non_editor_pick_and_diff_pull --concurrency 2
/usr/local/lib/python3.9/site-packages/celery/platforms.py:834: SecurityWarning: You're running the worker with superuser privileges: this is
absolutely not recommended!

Please specify a different user using the --uid option.

User information: uid=0 euid=0 gid=0 egid=0

  warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format(
 
 -------------- celery@worker2 v5.1.2 (sun-harmonics)
--- ***** ----- 
-- ******* ---- Linux-3.10.0-1160.31.1.el7.x86_64-x86_64-with-glibc2.28 2021-08-08 20:45:35
- *** --- * --- 
- ** ---------- [config]
- ** ---------- .> app:         tasks:0x7fb4f6c2dd90
- ** ---------- .> transport:   redis://:**@cruise-redis-headless.reddwarf-cache.svc.cluster.local:6379/5
- ** ---------- .> results:     redis://:**@cruise-redis-headless.reddwarf-cache.svc.cluster.local:6379/5
- *** --- * --- .> concurrency: 2 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** ----- 
 -------------- [queues]
                .> non_editor_pick_and_diff_pull exchange=non_editor_pick_and_diff_pull(direct) key=non_editor_pick_and_diff_pull
                

[tasks]
  . pydolphin.dolphin.tasks.cert-tasks
  . pydolphin.dolphin.tasks.tasks

[2021-08-08 20:45:35,540: ERROR/MainProcess] consumer: Cannot connect to redis://:**@cruise-redis-headless.reddwarf-cache.svc.cluster.local:6379/5: WRONGPASS invalid username-password pair or user is disabled..
Trying again in 2.00 seconds... (1/100)

[2021-08-08 20:45:37,547: ERROR/MainProcess] consumer: Cannot connect to redis://:**@cruise-redis-headless.reddwarf-cache.svc.cluster.local:6379/5: WRONGPASS invalid username-password pair or user is disabled..
Trying again in 4.00 seconds... (2/100)

^C
worker: Hitting Ctrl+C again will terminate all running tasks!

worker: Warm shutdown (MainProcess)
Run Code Online (Sandbox Code Playgroud)

我确信用户名和密码正确,因为我可以使用redis-cli命令登录redis。问题出在哪里以及我应该做什么来解决它?

小智 8

可能是 URL 中用户名前面的“:”。本来应该

redis://default:123456@cruise-redis...
Run Code Online (Sandbox Code Playgroud)

您可能在 URL 中使用前导冒号的情况是使用密码但没有用户名进行连接时。然后它看起来像这样:

redis://:somepass@host...
Run Code Online (Sandbox Code Playgroud)