При выполнении Nginx 1.4.1 у меня есть следующая конфигурация для отображения пользовательской ошибочной страницы в случае, если мой бэкенд портит. Страница отображена, но пользовательские шрифты и изображения не загружаются. Моя пользовательская ошибочная страница (50x.html) находится в/usr/share/nginx/html/. Статическое содержание в подпапках img и шрифтах.
От моего браузера I видят, что статический URL содержания, добавляют к моему текущему URL, который делает их недоступными. Например, если я просмотрю www.domain.com/user/account, то Nginx попытается загрузить содержание из сервера:
URL
/user/account/img/logo.png
/user/account/img/main.jpg
/user/account/img/footer.png
/user/account/fonts/miso-regular-webfont.ttf
Вместо от sr/share/nginx/html/img/
Вот часть конфигурации:
error_page 324 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
allow all;
internal;
}
Спасибо за Вас световые сигналы.
РЕДАКТИРОВАНИЕ 1:
Спасибо Alexey, путь, теперь исправляет, но отображает все еще не отображенный. В первом отказе бэкенда Nginx пытается выбрать изображения от Apache, тогда как Nginx должен обслуживать целую страницу обслуживания и не полагаться на бэкенд. Почему это поведение? Когда backen заболел, я не могу полагаться на него, даже для страницы обслуживания.
Спасибо.
Решил с помощью следующего:
error_page 324 500 502 503 504 = @maintenance;
location @maintenance {
root /usr/share/nginx/html;
try_files $uri /50x.html =503;
}