Добавьте 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")],
},
},
}