Итак, я попытался развернуть мое docker django приложение чата на heroku. Ранее я запускал приложение с помощью команды runserver, но теперь я переключаюсь на daphne, поскольку мне нужно использовать websocket, но я больше не могу использовать runserver для подключения к веб-серверу. После развертывания, когда я получаю доступ к странице приложения, которая показывает окно чата, эта ошибка возникает
WebSocket connection to 'wss://xxx.herokuapp.com/ws/chat/room/' failed: Error during WebSocket handshake: Unexpected response code: 500
(ххх - фактически URL моего приложения)
Вот часть моего js кода
<script>
var roomName = "{{ room_name|escapejs }}";
var wsStart = 'ws://';
if (window.location.protocol === 'https:') {
wsStart = 'wss://';
}
var chatSocket = new WebSocket(
wsStart + window.location.host +
'/ws/chat/' + roomName + '/');
chatSocket.onmessage = function(e) {
var data = JSON.parse(e.data);
var message = data['message'];
document.querySelector('#chat-log').value += (message + '\n');
};
ws не работала (сообщение об ошибке Django может использовать только ASGI, а не websocket), поэтому я перешел на wss (согласно другому сообщению в stackoverflow это из-за соображений безопасности ), которая вывела другую ошибку go, но все еще не может подключиться к веб-сокету
Это моя команда запуска: daphne -p $PORT --bind 0.0.0.0 -v2 test_project.asgi:application
РЕДАКТИРОВАТЬ: если я не использую wss ( просто используйте вместо этого ws) это сообщение об ошибке в js console
The page at 'https://xxx/chat/m/' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://xxx/ws/chat/room/'. This request has been blocked; this endpoint must be available over WSS.
Чрезвычайно признателен за любую помощь или идеи о том, что пошло не так. Большое вам спасибо!