Конфигурация сервера каналов Django: Ubuntu. 404 на рукопожатие

Я пытаюсь настроить каналы django для запуска на моем сервере Ubuntu (цифровой океан).

У меня работает redis-сервер port 6379, Дафна слушает на конечной точке unix:/home/mysite/sockets/mysite.sock с HTTP/2 support enabled(не уверен, что это требуется на этом этапе) У меня также есть один ./manage.py runworker Прослушивание. Моя команда запуска Дафни была

daphne -u /home/mysite/sockets/mysite.sock project.asgi:channel_layer

Мои http-запросы поступают (в журнале daphne), как и в моей локальной среде, например

#local
127.0.0.1:62241 - - [09/Oct/2017:21:03:41] "GET /playground/channel-simple" 200 1826

#server (side note. not sure why port + host are eliminated here.?)
None - - [09/Oct/2017:21:53:51] "GET /playground/channel-simple" 200 1622

Однако, когда я запрашиваю URL веб-сокета через js, все разваливается...

#local
127.0.0.1:62268 - - [09/Oct/2017:21:03:43] "WSCONNECTING /chat/private-room/" - -
127.0.0.1:62268 - - [09/Oct/2017:21:03:43] "WSCONNECT /chat/private-room/" - -

#server
None - - [09/Oct/2017:21:54:04] "GET /chat/private-room/" 404 86

Похоже, он обрабатывает запрос как http-запрос, а не как соединение через веб-сокет? Это также журнал консоли js...

#server - js response to connection
WebSocket connection to 'ws://[MY-IP]/chat/private-room/' failed: Error during WebSocket handshake: Unexpected response code: 404

Кто-нибудь может посоветовать, где эти 404 могут быть уволены? Или любые советы по отладке.

Благодарю.

1 ответ

Я выяснил проблему здесь и теперь заставил ее работать на сервере, как и ожидалось. Я не завершил конфиг nginx. Нуб:).

Следующие статьи были очень полезны.

https://www.nginx.com/blog/websocket-nginx/

http://masnun.rocks/2016/11/02/deploying-django-channels-using-daphne/

Другие вопросы по тегам