Каналы Django - нет соединения с ws
Я делаю пример из документации Django channels и он отлично работает!
Я вижу в журналах
HTTP GET /chat/lobby/ 200 [0.00, 127.0.0.1:43164]
WebSocket HANDSHAKING /ws/chat/lobby/ [127.0.0.1:43168]
WebSocket CONNECT /ws/chat/lobby/ [127.0.0.1:43168]
однако я не могу подключиться с помощью клиента wscat
andrey@andrey-desktop:~$ wscat -c "ws://127.0.0.1:8000/ws/chat/lobby/"
error: Unexpected server response: 403
или почтальон - postman disconnect
Я вижу в логах неудачные попытки
WebSocket HANDSHAKING /ws/chat/lobby/ [127.0.0.1:43232]
WebSocket REJECT /ws/chat/lobby/ [127.0.0.1:43232]
WebSocket DISCONNECT /ws/chat/lobby/ [127.0.0.1:43232]
Как сделать подключение с других клиентов, а не только со страницы javascript/html?
Проверьте, установили ли вы AllowedHostsOriginValidator
в файле asgi.py.
Если да, то вам нужно отправить Origin
в заголовках.
Если localhost, Origin
будет http://127.0.0.1:8000
.