У Nginx есть некоторые проверки работоспособности и возможности мониторинга состояния, которые кажутся связанными, но я не смог найти правильный способ их использования.
Хотя это и предполагалось использоватьДело в том, что на самом деле для авторизации, я обнаружил, что модуль nginx auth_request работает для меня:
# Host static content directly
location / {
# Check if REST server is online before serving site
auth_request /api/status; # Continues when 2xx HTTP status is returned
# If not, redirect to offline status page
error_page 500 =503 @status_offline;
root /var/www/html;
index index.html;
try_files $uri $uri/ =404;
}
Он вызовет /api/status
в качестве подзапроса перед обработкой статического содержимого и будет продолжаться только тогда, когдаподзапрос возвращает статус HTTP в диапазоне 200.Кажется, он возвращает статус 500, когда сервер находится в автономном режиме.
Этот метод может иметь некоторые последствия для производительности, поскольку теперь вы всегда делаете дополнительный запрос, но это, по-видимому, является неотъемлемым требованием проверки того, работает ли ваша служба.онлайн.