Назад | Перейти на главную страницу

Удаление расширения Joomla вызывает 502 плохой шлюз

У нас есть VPS с некоторыми веб-сайтами PHP, размещенными на наших серверах Ubuntu 12.04 LTS с использованием NGINX. На сайте Joomla 3 при удалении расширения, которое вызывает ошибку, на странице отображается страница с ошибкой NGINX с 502 Bad Gateway, а не сообщение об ошибке в Joomla, как в Apache.

Сообщение журнала ошибок вызывает очевидную ошибку, объясняющую, почему сайт сломался, и ее легко исправить с помощью самого расширения (ошибка подключения к базе данных из PostgreSQL).

2014/05/06 16:26:12 [error] 17702#0: *26 upstream sent invalid status "0 Error connecting to PGSQL database." while reading response header from upstream, client: xx.xx.xxx.xx, server: sub.example.com, request: "POST /administrator/index.php?option=com_installer&view=manage HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "sub.example.com", referrer: "http://sub.example.com/administrator/index.php?option=com_installer&view=manage"

Как указывает ошибка, это ошибка подключения к базе данных PostgreSQL.

В своем исследовании я обнаружил, что 502 Bad Gateway обычно является результатом неправильно настроенного файла конфигурации. Это то, что заставляет меня думать, что когда что-то происходит в Joomla, ошибка не обрабатывается должным образом и отображается страница ошибки 502.

Что мне нужно знать: почему ошибка сайта отображается как ошибка 502 Bag Gateway в NGINX + PHP-FPM, когда возникает ошибка подключения к БД? Это неправильная конфигурация в NGINX и / или PHP-FPM или это то, как это обычно обрабатывает ошибки?

Изображение того, как Joomla с apache обрабатывает ту же ошибку:

Заметка: Я использовал конфигурацию Joomla из http://docs.joomla.org/Nginx

Вероятно, это связано с недопустимым заголовком состояния. У меня была такая же проблема, когда исключение генерировалось без кода состояния http, поскольку код исключения завершился ошибкой: надеюсь, он скоро будет объединен;) вы можете исправить его вручную на данный момент: https://github.com/joomla/joomla-cms/compare/staging...Mech7:fix-nginx-status?expand=1