Практика показывает, что ошибка upstream timed out (110: Connection timed out) может возникать в двух случаях. Причем название самой ошибки указывает на решение — необходимо увеличить время ожидания в настройках веб-сервера.
Nginx в качестве proxy или reverse proxy
В этом случае ошибка может возникать, если истекло время ожидания на чтение ответа от прокси-сервера.
То есть Nginx отправил запрос и не дождался ответа. Если вы уверены, что ваше веб-приложение работает корректно, то необходимо увеличить этот таймаут в файле конфигурации nginx.conf в секции location:
location / {
...
proxy_send_timeout 150;
proxy_read_timeout 150;
...
}
#Установка времени ожидания на отправку и чтение ответа, в секундах
Nginx с подключенными FastCGI-серверами
В этом случае ошибка возникает, если истекло время ожидания на чтение ответа от подключенных сервисов или приложений, PHP-FPM, к примеру.
Решение такое же банальное, как и в первом случае — необходимо увеличить время ожидания:
location ~* .php$ {
include fastcgi_params;
...
fastcgi_read_timeout 150;
...
}
#Время ожидания на чтение ответа, в секундах
Самое главное
Прежде чем увеличить время ожидания, которое в данном случае по умолчанию составляет 60 с, следует проверить работоспособность всех компонентов и модулей. Если же все работает как нужно, то увеличение таймаута будет самым простым решением проблемы.