Как заставить обратный прокси-сервер nginx пропустить 503 страницы ошибок до клиента?
Я использую Magento (приложение для электронной коммерции) за nginx в качестве обратного прокси-сервера для Apache, на котором работает приложение PHP. Статический контент обслуживается непосредственно nginx. Magento имеет "режим обслуживания", который использует HTTP-ответ 503. При моей конфигурации, когда включен режим обслуживания, nginx возвращает пустую страницу с ответом 500 вместо красивой страницы режима обслуживания Magento с ответом 503. Как я могу сделать так, чтобы nginx пропустил страницу 503 до клиента?
Вот мой конфиг nginx:
вышестоящий пример кластера {сервер 1.2.3.4:80; } сервер { прослушать 1.2.3.5:80; имя_сервера www.example.com; root /var/www/example.com/www; # безопасность location ~ (/(app/|includes/|lib/|pkginfo/|var/|report/config.xml|downloader/(pearlib|template|Maged)/)|/\.svn/|/\.ht.+) { возврат 404; } location ~ \.php $ { proxy_pass http: // examplecluster; proxy_redirect по умолчанию; } # статический контент место нахождения / { try_files $uri @apache; истекает 7d; } # Apache location @apache { proxy_pass http: // examplecluster; proxy_redirect по умолчанию; } }
2 ответа
Оказывается, во время обслуживания страницы 503 действительно произошла ошибка, поэтому nginx правильно переадресовал ответ.
Тем не менее, соответствующая настройка nginx proxy_intercept_errors off;
который уже по умолчанию..
Я знаю, что это довольно старая тема. - Но почему бы просто не позволить nginx обслуживать как статический, так и динамический контент?
Я имею в виду, что nginx уже является веб-сервером, который можно использовать для запуска приложения magento. И вы уже настроили его для обработки статического контента. Было бы легко позволить ему справиться и с динамическим контентом, верно?