WebSocket / wss не подключается, используются каналы Django и AWS Elastic Beanstalk

#javascript #websocket #amazon-elastic-beanstalk #django-channels

Вопрос:

Получение этой ошибки WebSocket на https://yoga.sightica.com/class/ консоли сайта. Серверная часть Django и развернута в AWS с использованием эластичного бобового стебля.

Firefox не может установить соединение с сервером по адресу wss://yoga.sightica.com/class/.
main.js:76:16

или в google chrome

main.js:76 Не удалось подключиться к веб-сайту ‘wss://yoga.sightica.com/class/’: (аноним) @ main.js:76

и это мое main.js строка файла 76

 webSocket = new WebSocket(endPoint);
 

Я настроил каналы Django и эластичный кэш Redis, используя их официальные документы.

 option_settings:
    aws:elbv2:listener:80:
        DefaultProcess: http
        ListenerEnabled: 'true'
        Protocol: HTTP
        Rules: ws
    aws:elbv2:listener:443:
        ListenerEnabled: 'true'
        Protocol: HTTPS
        SSLCertificateArns: <substituted my ARN FROM AWS CERTIFICATES MANAGER>
        SSLPolicy: ELBSecurityPolicy-2016-08
        Rules: ws
    aws:elbv2:listenerrule:ws:
        PathPatterns: /ws/*
        Process: websocket
        Priority: 1
    aws:elasticbeanstalk:environment:process:http:
        Port: '80'
        Protocol: HTTP
    aws:elasticbeanstalk:environment:process:websocket:
        Port: '5000'
        Protocol: HTTP
 

Это моя конфигурация эластичного бобового стебля. Мне нужен правильный файл .config, другие инструкции по настройке не развертываются в elastic beanstalk для меня.

я использовал этот файл процесса (заменил свой путь)

 web: gunicorn --bind :8000 --workers 3 --threads 2 <your_app>.wsgi:application
websocket: daphne -b 0.0.0.0 -p 5000 <your_app>.asgi:application
 

Мне нужно получить websocket на странице HTTPS, так как мне нужен доступ к веб-камере.
И веб-сайт работает на локальном хостинге.

( Функцию WebSocket() можно увидеть здесь https://developer.mozilla.org/en-US/docs/Web/API/WebSocket )

Комментарии:

1. Вы открыли порт 5000 в своем брандмауэре?, работает ли ping на порту 5000 или в telnet?

2. Вы решили эту проблему? Я также получил ту же ошибку.

3. пока нет, но пытаюсь

4. @user3486626 локальный хост telnet 5000 Пытается 127.0.0.1… telnet: подключиться к адресу 127.0.0.1: Отказано в подключении

5. порт 5000 не работает, это порт, назначенный для websocket. Есть идеи, как это исправить.