Nginx бросает 502 периодически на каждой странице при использовании fastcgi_finish_request ()

Я недавно наследовал администрирование более чем 2 поля Nginx в AWS и очень незнаком с тем, как PHP-FPM работает (и работа doens't). Я недавно интегрировал Keen. IO для пользователя бэкенда, регистрирующегося, использующего:

fastcgi_finish_request();

в php, чтобы закончить запрос и затем продвинуться для входа Keen. Это, казалось, работало хорошее за исключением некоторой более высокой задержки, которая я предполагаю, что пользователь не испытывал, потому что они уже разъединились.

Сегодня однако, как созданный трафик, мы начали получать 502 ошибки шлюза, и оба сервера имеют следующую ошибку:

[error] 2356#0: *70245 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: (ADDRESS), server: igun-api-slaves.crimson-moon.com, request: "GET (Address)", upstream: "fastcgi://unix:/var/run/php-fpm/product1.socket:", host: "ADDRESS"

Это происходит на всех наших страницах, не только те я изменил с входом. Я полностью потерян, поскольку это все новое для меня. Что точно означает эта ошибка?

- РЕДАКТИРОВАНИЕ

Я вижу теперь в облачных часах AWS, что ошибки прибывали с тех пор, как код был отредактирован, не как раз в то самое время, когда трафик создал.

0
задан 10 August 2015 в 07:26
2 ответа

Эта ошибка, по-видимому, вызвана ошибкой в ​​PHP, которая неправильно обрабатывает fastcgi_finish_request ()

https://bugs.php.net/bug.php?id = 67583

Это можно обойти, пока не будет исправлено, отключив fastcgi_keep_conn в настройках Ngynx.

0
ответ дан 4 December 2019 в 13:47

Сообщение журнала означает, что PHP-FPM отправляет идентификатор типа записи, который nginx не понимает. Оказывается, как вы уже догадались, тип записи 3 соответствует FCGI_END_REQUEST. Таким образом, может показаться, что поддержка FCGI в nginx является неполной, поскольку он не распознает и не обрабатывает этот тип записи.

Я бы предложил либо взломать ваш редактор и исправить nginx, либо перестать вызывать fastcgi_finish_request () , и разработайте другой способ достижения того, что вы хотите сделать.

2
ответ дан 4 December 2019 в 13:47

Теги

Похожие вопросы