Sergiy_Hanzhela
@Sergiy_Hanzhela
Начинающий разработчик!

Джанго chat websocket нет соеденения с сокетом?

Добрый вечер! Пытаюсь поднять чат у себя на сайте и пытаюсь использовать
получаю
WebSocket connection to 'wss://example.com.ua/ws/' failed: Error in connection establishment: net::ERR_NOT_IMPLEMENTED
перерыл кучу инфы в инете осталось только сюда:)
server {
        listen          443 ssl http2;
        listen          [::]:443 ssl http2;
        ssl_certificate /etc/ssl/example.crt;
        ssl_certificate_key /etc/ssl/example.key;
        # include /etc/nginx/snippets/ssl;
        server_name     www.examle.com.ua;

        access_log /var/log/nginx/stp.access.log;
        error_log /var/log/nginx/stp.error.log;
	    client_max_body_size 64m;
        location / {
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            uwsgi_pass      unix:///tmp/stp.sock;
            include         uwsgi_params;
            uwsgi_param     UWSGI_SCHEME $scheme;
            uwsgi_param     SERVER_SOFTWARE    nginx/$nginx_version;
        }
        location /static/ {
	    alias /home/alx/stp/static/;
       }
       location /media/ {
         alias /home/alx/stp/static/media/;
        }
       location /ws/ {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://unix:/tmp/web.socket;
    }
      location /loadhistory/ {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://unix:/tmp/web.socket;
    }

       }

вот кусочек конфига nginx

[uwsgi]
master = true
processes = 1
socket = /tmp/stp.sock
http-socket = /tmp/web.socket
http-websocket = true
pidfile2 = /tmp/stp.pid
chmod-socket = 666
enable-threads = true
wsgi-file=/home/alx/stp/stp/wsgi.py
chdir=/home/alx/stp
buffer-size=16384
daemonize=/var/log/uwsgi/stp.log
plugin=python3
virtualenv=/home/alx/envs/stp-env
venv=/home/alx/envs/stp-env

Чат расположен на страничке /dashboard/broadcast/(?P[0-9]+)/ думал возможно это имеет значание где сам чат расположен(и pk естесвенно всегда разные). В основном все туториалы рапологают / в корне сайта пробывал запроксировать /dashboard/broadcast/ по этому адресу только nginx падает из-зп большого количесва соедений вообщем бяда
пытаюсь прикрутить испльзуя мануал вот отсель https://github.com/ploggingdev/djangochat там много накручено но хотябы добится что сокет конектился.
Вообщем буду благодарен за любой вид пмощи! Вплоть можем отблагодорить за настройку этого чуда.
  • Вопрос задан
  • 543 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Вам стоит внимательнее перечитать документацию Channels, под WSGI они не работают. Вам надо чем-нибудь, типа supervisord, запустить отдельно воркеры и отдельно ASGI-сервер Daphne. Nginx необходимо настроить на проброс запросов к Daphne. Кроме того, вам нужен какой-нибудь брокер очереди, например, Redis.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы