在 redis 上设置 requirepass 抛出 'NOAUTH Authentication required'

Setting requirepass on redis throws 'NOAUTH Authentication required'

我尝试使用选项设置来提供密码:

CHANNEL_LAYERS = {
    'default': {
        'BACKEND': 'channels_redis.core.RedisChannelLayer',
        'OPTIONS': {
            "PASSWORD": 'pass',               },                                                                                                                                   'CONFIG': {
            'hosts': [('localhost', 6379)],                                                                                                  }
    }
}

尽管如此,还是出错了:

Exception Value: NOAUTH Authentication required.

我发现了以下 SO:

但在这种情况下答案没有帮助。

注意:如果您的密码中有任何特殊符号,它将抛出以 10 为基数的错误。您要么必须将密码转换为 url 友好密码,要么使用不带特殊字符的密码。

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "asgi_redis.RedisChannelLayer",
        "CONFIG": {
            "hosts": [("redis://:mypassword@127.0.0.1:6379/0")],
        },
    },
}

感谢来自 Discord 的 PanosTrak 和这个 github issue