Назад | Перейти на главную страницу

Nginx - как установить неограниченное время для proxy_read_timeout?

Я установил nginx в качестве вызовов API.

Существует вызов API, который требует 6-8 минут для выполнения вычисления и ответа API, но nginx выдает 504 таймаута прокси.

Мне нужен максимальный неограниченный таймаут ответа для proxy_read_timeout.

Как я могу этого добиться?

Я знаю, что делаю неправильно, устанавливая неограниченное время для прокси-сервера и некоторое время достигая максимального соединения с открытым соединением nginx max.

Браузер выполняет этот вызов один раз и ждет ответа, и есть один пользователь, имеющий доступ к этому API.

Вот моя конфигурация Nginx (Angualr + API)

server {
    listen 80;
    server_name  localhost;

    client_max_body_size 500m;
    proxy_read_timeout 360s;

    location /api {
        rewrite /api/(.*) /$1  break;
        proxy_pass          http://api-server:80; # API Server Reidrect
        proxy_redirect      off;
        proxy_set_header    Host $host;
    }

    location / {
        root   /usr/share/nginx/html;
        try_files $uri $uri/ /index.html; # Angualr Redirect
        index  index.html index.htm;
    }

}