504 gateway time-out nginx

<html> 
<head>
    <title>504 Gateway Time-out</title>
</head> 
<body bgcolor="white"> 
    <center><h1>504 Gateway Time-out</h1></center>
    <hr>
    <center>nginx</center> 
</body> 
</html> 
<!-- a padding to disable MSIE and Chrome friendly error page --> 
<!-- a padding to disable MSIE and Chrome friendly error page --> 
<!-- a padding to disable MSIE and Chrome friendly error page --> 
<!-- a padding to disable MSIE and Chrome friendly error page --> 
<!-- a padding to disable MSIE and Chrome friendly error page --> 
<!-- a padding to disable MSIE and Chrome friendly error page -->

Когда Nginx не получает ответ за выделенное время происходит ошибка 504 gateway time-out (Время вышло). Есть 2 основных случая, когда это происходит.

Nginx обслуживает другой web сервер

Наиболее распростанена связка с Apache. Чтобы увеличить время ожидания при проксировании, необходимо изменить следующие параметры:

server {
...
    proxy_connect_timeout 300;
    proxy_send_timeout    300;
    proxy_read_timeout    300;
    send_timeout          300;
...
}

Время ожидания будет равно 300 секундам.

Nginx обслуживает PHP-FPM

В это случае причиной является медленные PHP скрипты. Возможно это банальные ошибки или причина просто в "тяжёлой" операции или обращении к другому сайту, например за обновлениями. В любом случае, Nginx будет отдавать 504 ошибку когда он не дожидается ответа в течение установленного времени. Чтобы увеличить время ожидания следует изменить такие параметры:

location ~ \.php$ {
...
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
}

После изменение настроек, проверямся и перезагружаем nginx.

sudo nginx -t
sudo systemctl reload nginx

Похожие записи

Собственные сообщения об ошибках валидации форм OctoberCMS

Во время разработки модели данных OctoberCMS при необходимости, можно использовать собственные сообщения об ошибках валидации полей формы вместо сообщения The :attribute field is required. по-умолчанию. В статье показывается как, достаточно просто, это делается.

Идемпотентные методы HTTP

Методы GET, PUT, DELETE являются идемпотентными - многократные идентичные запросы такого типа приводят к такому же эффекту, как и от одиночного запроса, при условии что не сервер не меняет своё состояние между запросами