Когда я пытался запустить сервер, используя sslserver
, как показано ниже,
python manage.py runsslserver
Ошибки:
Трассировка:
Validating models...
System check identified no issues (0 silenced).
November 08, 2019 - 11:17:26
Django version 2.0.7, using settings 'dashboard_channels.settings'
Starting development server at https://127.0.0.1:8000/
Using SSL certificate: \lib\site-packages\sslserver\certs\development.crt
Using SSL key: \lib\site-packages\sslserver\certs\development.key
Quit the server with CTRL-BREAK.
[08/Nov/2019 11:18:33] "GET / HTTP/1.1" 200 1299
[08/Nov/2019 11:18:34] "GET / HTTP/1.1" 200 1299
[08/Nov/2019 11:18:35] "GET /static/js/jquery.js HTTP/1.1" 200 270575
Not Found: /ws/home
[08/Nov/2019 11:18:36] "GET /ws/home HTTP/1.1" 404 2134
Консоль браузера:
(index):31 WebSocket connection to 'wss://127.0.0.1:8000/ws/home' failed: Error during WebSocket handshake: Unexpected response code: 404
(index):41 error Event
(index):44 close CloseEvent
Код:
Javascript:
var loc = window.location;
var wsStart = 'ws://';
if (loc.protocol == 'https:') {
wsStart = 'wss://'
}
var endpoint = wsStart + loc.host + '/ws/home';
var socket = new WebSocket(endpoint);
Работает нормально с командой python manage.py runserver
, значит для http
работает, но не с https
.
Как решить эту проблему? (Как отладить, чтобы разобраться с этой проблемой?)
Есть ли другой способ запуска в https
для проверки WebSockets вместо django-sslserver
библиотеки?
В любом случае этодля тестирования, наконец, мне нужно развернуть его на Apache2.4 на компьютере с Windows-сервером. Где я уже настроил для https
, но не для веб-сокетов.