Добрый день!
Существует следующая проблема:
Есть backend написанный на Python Flask - через вебсокет присылаются данные. Если запустить сервер локально или удаленно через gunicorn или werkzeug, то все работает хорошо, соединение не прерывается.
Как только это все дело запускается через Nginx - вебсокеты отваливаются через 30-60 секунд.
Для поддержки соединения добавили отсылку "ping" через каждые 2 секунды, но это все равно не помогло, вебсокеты по прежнему отваливаются через 30-60 секунд.
Конфигурация nginx
server {
listen 213.189.217.11:80;
location / {
include proxy_params;
proxy_redirect off;
proxy_pass http://unix:/home/mv-proto-backend/mv-proto-backend.sock;
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_buffers 8 32k;
proxy_buffer_size 64k;
proxy_headers_hash_max_size 512;
proxy_headers_hash_bucket_size 128;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
keepalive_timeout 90;
proxy_cache off;
proxy_buffering off;
tcp_nodelay on;
}
}
Пример из postman