[server] 프록시 대상을 사용할 수없는 경우 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;


답변