Я пытаюсь настроить каналы django для работы на моем сервере Ubuntu (цифровой океан).
У меня есть сервер redis, работающий на port 6379
. Дафна прослушивает конечную точку unix:/home/mysite/sockets/mysite.sock
с HTTP/2 support enabled
(не уверен, что это требуется на данном этапе). У меня также есть один ./manage.py runworker
Listening. Моя команда запуска Дафны была
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 может быть уволен? Или любые советы по отладке.
Спасибо.