小编典典

将 Redis USER & PASS 添加到 Django 通道层

all

我正在尝试在服务器上部署我的 WebSocket 项目(例如 Heroku)。我有一个具有 USER & PASS 的 Redis 服务器。我想将此添加到我的 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] 

 :)))


阅读 73

收藏
2022-08-20

共1个答案

小编典典

我可以看到 OP 正在使用该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")],
        },
    },
}
2022-08-20