Добавьте Redis USER и PASS в канальный слой Django

Я пытаюсь развернуть свой проект WebSocket на сервере (например, Heroku). и у меня есть сервер Redis, который имеет USER & PASS. Я хочу добавить это в мой канальный слой Django. Мне нужна ваша помощь

Это мой канальный слой:


 CHANNEL_LAYERS = {
    'default': {
        'BACKEND': 'channels_redis.core.RedisChannelLayer',
        'USER': 'spadredis-zxs-service',
        'PASSWORD': '9zghygpri84f8vl',
        'CONFIG': {
            "hosts": [('188.40.16.3', 32281)],
        },
    },
} 


Это моя ошибка в терминале :


await conn.execute('ping')
aioredis.errors.AuthError: NOAUTH Authentication required.
WebSocket DISCONNECT /ws/chat/lobby_room/ [127.0.0.1:42812] 

 :)))

Я вижу, что ОП использует пакет channels-redis для того, чтобы использовать Redis в качестве канального уровня, это хорошо.

Предполагая, что Redis работает на хосте 188.40.16.3 и порту 32281, я предлагаю OP удалить USER и PASSWORD из CHANNEL_LAYERS и добавить его в CONFIG хосты (как предложено здесь ), как

CHANNEL_LAYERS = {
    'default': {
        'BACKEND': 'channels_redis.core.RedisChannelLayer',
        'CONFIG': {
            "hosts": [("redis://spadredis-zxs-service:9zghygpri84f8vl@188.40.16.3:32281")],
        },
    },
}
Вернуться на верх