ОШИБКА: сбой подключения WebSocket к «wss: //test-l-ink.herokuapp.com/lk/»: ошибка во время рукопожатия WebSocket: неожиданный код ответа: 200 - PullRequest
0 голосов
/ 08 февраля 2020

Я использую Python + Django и запускаю сервер Gunicorn на Heroku. Но я также запускаю daphne, чтобы использовать WebSockets в своем веб-приложении. Но websockets не работает.

Вот мой Procfile :

web: gunicorn Chat.wsgi
web2: daphne Chat.asgi:channel_layer --port 8000 --bind 0.0.0.0

Это код JS, который пытается установить sh соединение через веб-сокет:

<script>
        $(document).ready(function(){
            var msgArea = $('#msgArea')
            var elementMessage = $('#message')
            var webSocket = new WebSocket('wss://' + window.location.host + '/lk/');
            webSocket.onmessage = function(message) {
                var data = JSON.parse(message.data)
                msgArea.append('<p><strong>'+ data.sender + '</strong>: ' + data.message + '</p>')
            }
            $('#btnSubmit').click(function(e) {
                webSocket.send(elementMessage.val())
            })
        })
    </script>

Все работает на моей локальной машине, но не работает на Heroku. У меня ошибка: " Соединение WebSocket с 'wss: //test-l-ink.herokuapp.com/lk/' не удалось: Ошибка во время рукопожатия WebSocket: Неожиданный код ответа: 200 "

Это файл журнала :

...
[web2.1]: Starting process with command `daphne Chat.asgi:channel_layer --port 8000 --bind 0.0.0.0`
[web2.1]: State changed from starting to up
[web.1]: Starting process with command `gunicorn Chat.wsgi`
[web2.1]: 2020-02-08 19:14:00,707 INFO     Starting server at tcp:port=8000:interface=0.0.0.0, channel layer Chat.asgi:channel_layer.
[web2.1]: 2020-02-08 19:14:00,708 INFO     HTTP/2 support not enabled (install the http2 and tls Twisted extras)
[web2.1]: 2020-02-08 19:14:00,708 INFO     Using busy-loop synchronous mode on channel layer
[web2.1]: 2020-02-08 19:14:00,708 INFO     Listening on endpoint tcp:port=8000:interface=0.0.0.0
[web.1]: [2020-02-08 19:14:01 +0000] [4] [INFO] Starting gunicorn 19.9.0
[web.1]: [2020-02-08 19:14:01 +0000] [4] [INFO] Listening at: http://0.0.0.0:55966 (4)
[web.1]: [2020-02-08 19:14:01 +0000] [4] [INFO] Using worker: sync
[web.1]: [2020-02-08 19:14:01 +0000] [10] [INFO] Booting worker with pid: 10
[web.1]: [2020-02-08 19:14:01 +0000] [11] [INFO] Booting worker with pid: 11
[web.1]: State changed from starting to up
app[api]:: Build succeeded
...

Я не могу понять, где я не прав. Помогите мне, пожалуйста!

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