Простая конечная точка проверки работоспособности в контейнере сервера nginx

У меня есть докер-контейнер, работающий с сервером nginx.

Я хочу предоставить rest-interface / endpoint для проверки работоспособности сервера и контейнера. Например, ПОЛУЧИТЬ http://container.com/health/, который дает "истина" / ОК или "ложь"/NOK.

Какое самое простое и быстрое решение или передовой опыт?

PS Сервер служит файловым браузером, т.е. с включенным списком индекса каталогов.

2 ответа

Следующая конфигурация работала для меня с версией nginx: nginx/1.14.0 (Ubuntu):

          location = /health {
            access_log off;
            add_header 'Content-Type' 'application/json';
            return 200 '{"status":"UP"}';
    }

Чтобы проверить это:

  • Установите Nginx локально, пример на Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-18-04 .
  • Добавлять locationконфигурации (упомянутой выше) до конца serverблок в файле /etc/nginx/sites-available/defaultи перезапустите сервер nginx
  • Доступ http://localhost/healthдолжен вернуть ответ {"status":"UP"}

Добавить

location /health {
        status 200;
        access_log off;
        header Content-Type = text/html;
        body "status: ok";
    }

внутри вашего сервера {} в вашем nginx.conf:3 это исправит проблему

Другие вопросы по тегам