Запуск Nginx 1.4.1 У меня есть следующая конфигурация для отображения настраиваемой страницы ошибок на случай, если мой бэкэнд выйдет из строя. Страница отображается, но пользовательские шрифты и изображения не загружаются. Моя настраиваемая страница ошибок (50x.html) находится в / usr / share / nginx / html /. Статическое содержимое в подпапках img и fonts.
В моем браузере я вижу, что 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:
Спасибо, Алексей, путь исправлен, но изображения по-прежнему не отображаются. При первом сбое серверной части Nginx пытается получить изображения с Apache, тогда как Nginx должен обслуживать всю страницу обслуживания и не полагаться на серверную часть. Почему такое поведение? Когда задник заболевает, я не могу рассчитывать на него даже в отношении страницы обслуживания.
Спасибо.
Решил это следующим образом:
error_page 324 500 502 503 504 = @maintenance;
location @maintenance {
root /usr/share/nginx/html;
try_files $uri /50x.html =503;
}