Простая конечная точка проверки работоспособности в контейнере сервера 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 это исправит проблему