Linux Labs

Сеть / Ступень 6 из 14

От подключения к ответу приложения

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 4 из 7 · теория · 5 мин

Что значит ответ

Ответ с ошибкой — тоже ответ. Скрипт заметит ошибку по коду curl, а тот ли это сайт — по тексту ответа.

Для curl без ключей ответ 503 — успешный обмен: соединение было, ответ получен, код 0. С ключом -f (--fail) он считает статус от 400 и выше ошибкой: печатает curl: (22) The requested URL returned error: 503 и выходит с кодом 22. Скриптам и мониторингу нужен именно код.

Раз пришёл статус, сеть и порт в порядке: искать нужно в самом приложении — в его настройке, журнале, зависимостях.

Статус 200 тоже не всё. На адрес мог ответить другой сайт или заглушка. Поэтому проверка смотрит и статус, и текст ответа: у учебного сервиса это строка ports-lab-ok.

Проверь себя 1 вопрос

Проверка с клиента напечатала такую строку. Где искать причину?

curl: (22) The requested URL returned error: 503
  • Статус 503 прислал сервер, значит соединение было и запрос дошёл. Сеть свою часть сделала.

  • Фильтр, отбрасывающий пакеты, дал бы тайм-аут без ответа. Здесь ответ пришёл.

  • -f только превращает статус от 400 в код 22. Без него curl получит тот же 503 с кодом 0.

503 — статус ответа приложения: соединение есть, запрос дошёл, а сервис не готов его обслужить. Причину ищут в самом приложении.

Главное в шаге

  • Без -f curl выходит с кодом 0 и при ответе 503, с -f — с кодом 22.
  • Статус ответа значит, что сеть и порт в порядке, а ошибку ищут в приложении.
  • Проверка сервиса смотрит статус и текст ответа.
Ubuntu 24.04
Загрузка…