我正在尝试在服务器上部署我的 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]
我可以看到 OP 正在使用该channels-redis包以便将 Redis 用作通道层,这很好。
channels-redis
假设 Redis 在主机188.40.16.3和端口中运行32281,我建议 OP从主机中删除USER和添加它(如建议的此处),例如PASSWORD``CHANNEL_LAYERS``CONFIG
188.40.16.3
32281
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")], }, }, }