Назад | Перейти на главную страницу

Страница ошибки локальной резервной копии Nginx, если пункт назначения прокси недоступен

Я перенаправляю запросы в локальную службу через сервер 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;