Я использую 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
...
Я не могу понять, где я не прав. Помогите мне, пожалуйста!