Тайм-аут Nginx & FastCGI 504, даже при увеличении тайм-аутов FastCGI - PullRequest
0 голосов
/ 05 декабря 2018

Я использую 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

...