Иногда длительные запросы завершались сбоем с сообщением об ошибке «504: тайм-аут шлюза» на веб-сервере NGINX. Чтобы решить эту проблему, вам нужно увеличить время ожидания запроса в конфигурации сервера NGINX. По умолчанию время ожидания запроса (request timeout) 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{
...
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
...
}
После внесения изменений необходимо перезапустить службу NGINX, чтобы изменения вступили в силу. Системы, работающие с Systemd, могут использовать следующую команду.
sudo systemctl restart nginx
Все готово. С помощью вышеуказанных изменений вы успешно увеличили время ожидания запроса на сервере NGINX.
Вывод
Это руководство поможет вам увеличить время ожидания запроса на веб-сервере NGINX.