Задать вопрос
@Greench232

Socket.io Flask как исправить Цикличные ошибки?

Поставил Flask приложеие на хостинг через gunicorn и начались постоянные проблемы с цикличностью ошибки сокета. Хостинг абсолютно чистый, ниже список зависимостей, ошибок и частичные логи. Было испробовано очень много вариантов решения проблемы, замена версий, изменение конфигурации и др. варианты, но ничего по сути не помогает.

Nginx
server {
    listen 80;
    server_name example.com www.example.com; 

    return 301 https://$host$request_uri; 
}

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'HIGH:!aNULL:!MD5';

    location / {
        proxy_pass http://127.0.0.1:8000; 
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }


    location /socket.io/ {
        proxy_pass http://127.0.0.1:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade"; 
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    error_log /var/log/nginx/my.error.log; 
    access_log /var/log/nginx/my.access.log;
}




Установленные зависимости
alembic==1.13.3
bidict==0.23.1
blinker==1.8.2
certifi==2024.8.30
charset-normalizer==3.4.0
click==8.1.7
Flask==3.0.3
Flask-Cors==5.0.0
Flask-Login==0.6.3
Flask-Migrate==4.0.7
Flask-SocketIO==5.4.1
Flask-SQLAlchemy==3.1.1
future==1.0.0
greenlet==3.1.1
gunicorn==23.0.0
h11==0.14.0
idna==3.10
itsdangerous==2.2.0
Jinja2==3.1.4
Mako==1.3.6
MarkupSafe==3.0.2
mysql==0.0.3
mysqlclient==2.2.5
netifaces==0.10.6
packaging==24.1
PyMySQL==1.1.1
python-engineio==4.3.2
python-socketio==5.5.0
requests==2.32.3
setuptools==3.3
simple-websocket==1.1.0
socketio==0.2.1
SQLAlchemy==2.0.36
typing_extensions==4.12.2
urllib3==2.2.3
websocket-client==1.8.0
Werkzeug==3.0.6
wheel==0.44.0
wsproto==1.2.0


Ошибки
Соединение с wss://example.com/socket.io/?EIO=4&transport=websocket&sid= было неожиданно прервано. Возможно, также была прервана передача данных "The client is using an unsupported version of the Socket.IO or Engine.IO protocols" В соединении с wss://example.com/socket.io/?EIO=4&transport=websocket&sid=- отказано.


Логи
sudo journalctl -u myapp.service -f Client is gone, closing socket simple_websocket.errors.ConnectionClosed: Connection closed: 1005


sudo tail -f /var/log/nginx/error.log *1449 open socket #16 left in connection 3
[alert] 36162#36162: *300 open socket #22 left in connection 6
[alert] 36162#36162: aborting
[alert] 36164#36164: *1457 open socket #14 left in connection 3
[alert] 36164#36164: *1214 open socket #12 left in connection 5
[alert] 36164#36164: aborting
  • Вопрос задан
  • 46 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

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

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