【发布时间】:2019-06-11 20:55:26
【问题描述】:
我不断收到错误消息:redis.exceptions.ResponseError: NOAUTH Authentication required..(我正在使用 celery 执行后台任务)。
我的 settings.py 如下所示:
CELERY_BROKER_URL = 'redis://user:my_strong_password@'+REDIS_IP+':6379/0'
我拥有的 docker-compose:
services:
redis:
image: redis:latest
container_name: jh_redis
ports:
- '6379:6379'
command: redis-server --appendonly yes --requirepass my_strong_password
您可以看到我提供密码 (--requirepass) 的尝试与 settings.py 中显示的完全一样,但是,当 docker 启动并运行时,我仍然收到主题错误消息。
我尝试了不同的组合,例如:
--requirepass user:my_strong_password
但仍然没有工作。 注意:当我关闭整个命令行时 - 它可以工作(但 32 小时后 - 我收到错误消息并且它停止工作)。
docker-compose 中的适当设置应该是什么才能使其顺利运行?
【问题讨论】:
-
您的 Redis 服务器暴露在公共网络中,并且至少由在实例上设置密码的人连接,如果不是更糟的话。至少使用密码保护您的 Redis,如果不断开它与世界的连接,以减少威胁。
-
@ItamarHaber 谢谢。你能分享一下你是如何在 docker 上保护它的吗?我还在纠结语法。
标签: django docker redis docker-compose celery