Я перенаправляю запросы в локальную службу через сервер Nginx. Что я сейчас пытаюсь сделать, так это вернуться на страницу локальной ошибки в случае, если служба станет недоступной.
Моя текущая конфигурация
server {
listen 80;
server_name "";
location / {
proxy_pass http://127.0.0.1:9080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 1;
proxy_next_upstream error timeout http_500 http_502 http_503 http_504 http_404;
proxy_intercept_errors on;
}
error_page 501 502 503 @maintenance;
location @maintenance {
root /locust/www/fallback/htdocs;
index index.html index.htm;
}
}
Проксирование работает, но как только я делаю свой сервис на 9080 недоступным, index.html моего местоположения обслуживания НЕ отображается.
Есть предложения о том, что не так с этой конфигурацией?
Собственно, мне оставалось лишь немного изменить ваш конфиг:
error_page 501 502 503 /500.html;
location = /500.html {
root /locust/www/fallback/htdocs;
}
и, очевидно, переименовать index.html
ты хочешь представить 500.html
.
Попробуйте указать точный URL-адрес страницы с ошибкой, например:
proxy_intercept_errors on;
error_page 500 502 503 504 402 403 401 /500.html;
root /locust/www/fallback/htdocs;