Как заставить SSL Websocket работать с Django-каналами - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь выяснить, как заставить этот websocket работать через ssl в https.Следуя учебному пособию по django-channel, я создал веб-приложение, аналогичное учебному пособию, и развернул его в Heroku.Размещенный на сайте Heroku защищен, поэтому мой веб-сокет подключается через 'wss: //', но это вызывает ошибки в консоли браузера, например:

WebSocket connection to 'wss://asyncdrawshare.herokuapp.com/ws/drawshare/gfdg/' failed: Error during WebSocket handshake: Unexpected response code: 404
WebSocket is already in CLOSING or CLOSED state.

Первая ссылка на ошибку:

var drawSocket = new WebSocket(
    'wss://' + window.location.host +
    '/ws/drawshare/' + roomName + '/');

И вторые ссылки:

drawSocket.send(JSON.stringify({
        'color': drawColor.value,
        'x1': x,
        'y1': y,
        'x2': x + 4 ,
        'y2': y + 4
    }));

Это обе части моего rooms.html Первая ошибка указывает на не найденный URL.Это не имеет смысла для меня, учитывая маршрут:

# drawshare/routing.py
from django.conf.urls import url

from . import consumers

websocket_urlpatterns = [
    url(r'^ws/drawshare/(?P<room_name>[^/]+)/$', consumers.DrawConsumer),
]

Казалось бы, это означает, что 404 не должен быть возвращен.Вторая ошибка, кажется, является результатом первой, так как любой send вызывает другой экземпляр этой ошибки.Так что если у вас есть понимание того, что происходит, пожалуйста, дайте мне знать.Что от меня хочет эта паутина?Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...