Практическое задание

Эта задача — шаг 10 курса «Выкатываем релиз»

Эндпоинт /version после выкатки

средне~12 мин

После выкатки мониторинг сверяет, какая версия реально отвечает. Добавь в nginx (сайт на порту 80, конфиг /etc/nginx/sites-enabled/default) служебный эндпоинт: GET /version отвечает статусом 200 и телом 2.4.0 прямо из конфига, без файла на диске. Срабатывать он должен только на точный путь /version — например, /version-old должен по-прежнему отдавать 404.

Что потренируешь:
  • nginx
  • location =
  • return
  • служебный эндпоинт
  • nginx -s reload

Разбор темы

Служебные эндпоинты вроде /version или /healthz опрашивают мониторинг и балансировщики, поэтому они должны быть дешёвыми и предсказуемыми. В nginx такой ответ собирают прямо в конфиге: директива return отдаёт код и тело, не трогая диск. Важна форма location: модификатор = означает точное совпадение пути и проверяется раньше префиксных правил, а префиксный location /version перехватил бы и /version-old, и /versions. После правки конфиг проверяют nginx -t и применяют мягкой перезагрузкой — воркеры подхватят его без обрыва соединений.

Что проверяется

  1. /version отвечает 200
  2. /version отдаёт 2.4.0
  3. /version-old по-прежнему 404
  4. главная страница работает

Как это выглядит