Разъединение веб-сокета после установления соединения
У меня есть подключение к веб-сокету, которое я выполняю с помощью каналов django, мое приложение отлично работает в локальном режиме, но при попытке запустить его на vps, веб-сокет отключается сразу после установления соединения с кодом 1005
const socket = new WebSocket('wss://mydomain.com/ws/chat/testing/');
Я отправлял сообщение на бэкенд в функции socket.onopen()
, но это не было проблемой, так как после комментирования этой строки кода, соединение также закрывается
Файл конфигурации nginx выглядит следующим образом:
location /ws/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Url-Scheme $scheme;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://127.0.0.1:8115;
}
Django routing.py:
application = ProtocolTypeRouter({
'websocket':AllowedHostsOriginValidator(
AuthMiddlewareStack(
URLRouter([
path('chat/testing/', Chat().as_asgi())
])
)
)
})
Setting.py:
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels_redis.core.RedisChannelLayer',
'CONFIG': {
"hosts": [('127.0.0.1', 6379)],
},
},
}
Не знаю, имеет ли это значение, но при использовании
const socket = new WebSocket('wss://mydomain.com:8115/ws/chat/testing/');
Я получил ошибку соединения с кодом 1006