Иногда долго выполняющиеся запросы завершались неудачей с сообщением об ошибке “504: Gateway Timeout” в веб-сервере NGINX.
Чтобы решить эту проблему, необходимо увеличить таймаут запроса в конфигурации сервера NGINX.
По умолчанию таймаут запроса NGINX составляет 60 секунд.
Его можно увеличить или уменьшить путем обновления конфигурационных файлов.
В этом кратком FAQ вы узнаете, как изменить таймаут запроса в веб-сервере NGINX.
Увеличение тайм-аута запроса в NGINX
Например, вы хотите увеличить таймаут запроса до 300 секунд.
Тогда вам нужно добавить директивы proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout в блок http или server.
Здесь блок http позволяет вносить изменения на всех серверах NGINX.
Чтобы внести изменения для всех серверов, отредактируйте основной конфигурационный файл NGINX и добавьте следующее содержимое в блок http.
http{ ... proxy_read_timeout 300; proxy_connect_timeout 300; proxy_send_timeout 300; ... }
Если вы хотите увеличить таймаут запроса только для определенного сервера или поддомена, то добавьте директивы только для его блока server.
Отредактируйте файл конфигурации конкретного серверного блока и добавьте следующие параметры:
server{ ... proxy_read_timeout 300; proxy_connect_timeout 300; proxy_send_timeout 300; ... }
После внесения изменений необходимо перезапустить службу NGINX, чтобы применить изменения.
Системы, работающие с Systemd, могут использовать следующую команду.
sudo systemctl restart nginx
Все готово, с помощью вышеуказанных изменений вы успешно увеличили таймаут запроса в сервере NGINX.
Заключение
Это руководство поможет вам увеличить таймаут запроса в веб-сервере NGINX.
см. также:
- 🌐 Как использовать преимущества динамического резолва DNS в NGINX
- 🌐 Как разместить несколько сайтов на Nginx с одним и тем же доменом (FQDN)
- Как ограничить размер загрузки файлов в Nginx
- 🌐 Как парсить логи доступа nginx