Показать пользовательскую страницу 503, если выше позору

StackOverflow https://stackoverflow.com/questions/5031818

Вопрос

Я использую nginx в качестве интерфейса к серверу Apache.Файл конфигурации выглядит как:

upstream apache {
    server localhost:8000;
}

server {
    listen 80;
    error_page 503 /www/static/503.html;

    # need some magic here #

    location /static/ {
        root /www/static/;
    }

    location / {
        proxy_path http://apache/;
    }
}
.

На данный момент, когда Apache Down Down, я получаю простую 502 страницу, сгенерированную NGINX.Как сделать его подавать свою собственную страницу ошибки и вернуть код статуса 503, который более актуален в этой ситуации?

Это было полезно?

Решение

Something like this

upstream apache {
    server localhost:8000;
}

server {
    listen 80;
    error_page 502 503 /www/static/503.html;

    location /static/ {
        root /www/static/;
    }

    location / {
        proxy_path http://apache/;
    }
}

You can append standard error codes together to display a single page for several types of errors.
For example:

error_page 502 503 /www/static/503.html;

For more reference you can refer the error_page manual


On the error_page manual it says

Furthermore, it is possible to change the code of answer to another, for example:

error_page 404 =200 /.empty.gif;

Another option
To make it return a different error code you can make use of a return keyword
For example:

# check for a condition
  if (condition) {
     return 503;
  }

Also See
nginx: Create HTTP 503 Maintenance Custom Page

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top