Я пытаюсь запустить проект multichat из каналов django-примеров на сервере. Она работает локально на машине окна, но когда я ставлю это на сервере Linux и запустить его с runserver он не делает:django channels websocket connect not working
./manage.py runserver
Затем, когда я вызываю на веб-сайте, показано правильно, но как только JS направляет его WebSocket просить я всегда получаю эту réponse:
[2016/08/02 14:35:48] HTTP GET /chat/stream/ 404 [0.04, 127.0.0.1:40186]
....(many lines of this)
так запрос WebSocket обрабатывается как запрос HTTP. Ответ должен быть таким:
[2016/08/02 16:34:45] WebSocket CONNECT /chat/stream/ [127.0.0.1:60250]
У меня нет ни малейшего представления, где это происходит не так. Маршрутизация HTTP по сравнению с WebSocket, кажется, делается где-то глубоко внутри Дафни/скрученный/...
настройки Мои канальные (если это какой-либо помощи вообще):
CHANNEL_LAYERS = {
"default": {
"BACKEND": "asgi_redis.RedisChannelLayer",
"CONFIG": {
"hosts": [(redis_host, 62031)],
},
"ROUTING": "multichat.routing.channel_routing",
},
}
Twisted версия 16,2 +0,0.
Любая помощь или подсказка в каком направлении смотреть очень ценится.
Я запускаю это с помощью сервера-запуска, но django-каналы переопределяют команду сервера запуска с ее собственным (который запускает дафни и рабочие). Порт действительно может быть проблемой - каждый неудачный запрос показывает другой порт - и те порты, к которым я не могу получить доступ. Но я не знаю, откуда эти номера портов. –
Фактически отображаемые номера портов должны быть безмерными: как работает этот запрос: [2016/08/03 07:47:51] HTTP GET /static/css/style.css 200 [0.02, 127.0.0.1:53294] Проблема похоже, что он обрабатывает запрос ws как http –