Я использую Nginx 1.10.2 в CentOS 6.9, который отправляет запросы в бэкэнд FastCGI, написанный на Perl (Catalyst), с использованием файла сокета.
В качестве простого теста я создалвеб-запрос, который спит в течение 2 минут, чтобы вызвать тайм-аут.
Без изменений тайм-аутов Nginx я получаю 504
, как и ожидалось, и, что самое важное, страница ошибки сообщает nginx/1.10.2
.
Когда я добавляю / увеличиваю тайм-ауты FastCGI, я все равно получаю 504
, но отформатирован немного по-другому, больше не упоминаю Nginx, но вместо этого The server didn't respond in time.
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
До добавлениятайм-ауты, я получаю запись в журнале ошибок Nginx, как и следовало ожидать ...
тайм-аут восходящего потока (110: тайм-аут соединения) при чтении заголовка ответа из восходящего потока,
При увеличении тайм-аута в файле журнала Nginx такой записи нет.
Я затрудняюсь, где можно попробовать и отладить это дальше, я не знаю, что FastCGI имеет другиетайм-ауты и бэкэнд Perl ( Catalyst :: Script :: FastCGI ) не имеет ничего задокументированного.
http://web.lavoco.com/504-fastcgi-timeouts.png