Остановить NGINX от завершения потока событий SSE через 60 секунд (uwsgi) - PullRequest
0 голосов
/ 25 мая 2020

У меня есть сервер NGINX, который действует как прокси для flask uwsgi-сервера.

Я хочу отправлять сообщения SSE в потоке событий. Все работает нормально, но через 60 секунд NGINX закрывает соединение (504).

Я нашел способ изменить код ошибки на 200 ok, и теперь он возвращает ошибку, но соединение по-прежнему закрывается через 1 минуту.

Есть ли способ остановить nginx от завершения сеанса через минуту для SPECIFI C url?

Моя nginx конфигурация -

server {
    listen 80;
    server_name cryptojaw.ml www.cryptojaw.ml;
    return 301 https://cryptojaw.ml$request_uri;
}

server {
    listen 443;
    ssl on;
    ssl_certificate /var/www/cryptofetcher/certificate.crt;
    ssl_certificate_key /var/www/cryptofetcher/private.key;
    server_name cryptojaw.ml www.cryptojaw.ml;
    location / {
        include uwsgi_params;

        proxy_set_header Connection '';
        proxy_http_version 1.1;
        chunked_transfer_encoding off;
        proxy_buffering off;
        proxy_cache off;        

        uwsgi_pass unix:/tmp/cryptojaw.sock;
    }   

    location /api/subscribe {
        include uwsgi_params;
        uwsgi_pass unix:/tmp/cryptojaw.sock;
        uwsgi_buffering off;
        chunked_transfer_encoding off;
        proxy_cache off;
        access_log  /var/log/nginx/eventsource_botbot.access.log;
        error_page 504 =200 @eventsource-close-graceful;    
    }


    location @eventsource-close-graceful {
        add_header Content-Type text/event-stream;
        return 200;
    }
}
...