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;