nginx + php-fpm + IP.Board — upstream sent invalid status 40

После переезда с Apache на связку nginx + php-fpm через какое-то время всплыла следующая проблема. При попытке отправить личное сообщение nginx начал выдавать страницу 502 Bad Gateway. Исследование логов nginx выдало такую строчку.

upstream sent invalid status "40" while reading response header from upstream

Немного логически поразмыслив, пришел к выводу что скрипты в каком то месте по ошибке отдают код 40, вместо положенного 40x. Быстрый поиск по исходникам привёл к файлу /admin/applications/members/modules_public/messaging/send.php, в котором есть такие строчки.

$this->registry->getClass('output')->showError( 'cannot_send_new_limit', 10274, FALSE, '', 40 );
$this->registry->getClass('output')->showError( 'cannot_send_new_limit', 10273, FALSE, '', 40 );

В итоге, место того, чтобы выдать нормальное сообщение об истечении лимита на число личных сообщений, nginx ругается на неправильный код ответа. Исправляем число 40 на корректный код 403, и всё заработает.

швеллер гнутый сертификат. Наша компания предлагает заказать и купить диплом ссср по низким ценам, недорого. купить качественный автоматический нож