Я использую nginx в качестве обратного прокси для одной машины. Я хотел бы, чтобы при выходе из строя серверной машины отображалась страница с ошибкой.
Это мой файл конфигурации:
server {
listen 80;
access_log /var/log/nginx/access.log;
root /var/www/nginx;
error_page 403 404 500 502 503 504 /error.html;
location / {
proxy_pass http://192.168.1.78/;
include /etc/nginx/proxy.conf;
}
Ага, я вижу проблему. Вы не предоставили nginx возможности фактически обслуживать статические файлы, такие как /error.html
, поэтому он пытается передать их на ваш сервер.
Быстрое исправление:
location /error.html {
internal;
}
Это заставит nginx ручка /error.html
сам. Затем он попытается обслужить файл из определенного документа. root
.
Кстати, вы, вероятно, захотите использовать разные страницы ошибок для ошибок 4xx и ошибок 5xx. «Не найдено» или что-то еще - это не то, что вы хотите, чтобы люди (или поисковые системы!) Видели, если серверная часть временно не работает.