Knowledge Base

Диагностика доступности сайта через curl

Диагностика по HTTP-статусу

Категория: HTTP · Риск: low

Диагностика по HTTP-статусу

| Статус | Значение | Действие | |--------|----------|---------| | 200 | OK | Норма | | 301/302 | Редирект | Проверьте, куда ведёт и нет ли петли | | 400 | Bad Request | Проблема с запросом (заголовки, формат) | | 401/403 | Auth/Forbidden | Аутентификация или ACL | | 404 | Not Found | URL не существует | | 429 | Too Many Requests | Rate limit. Снизьте частоту | | 500 | Internal Server Error | Ошибка на сервере. Смотрите логи | | 502 | Bad Gateway | Upstream недоступен | | 503 | Service Unavailable | Перегрузка или обслуживание | | 504 | Gateway Timeout | Upstream слишком долго отвечает |

Разбивка времён curl

dns:0.012      — время резолвинга DNS
tcp:0.025      — установка TCP-соединения
tls:0.058      — TLS handshake
ttfb:0.142     — Time To First Byte (обработка на сервере)
total:0.198    — полное время

**TTFB > 500 мс** — проблема на сервере (медленный backend, БД). **tcp > 200 мс** — сетевая проблема или перегрузка сервера. **tls > tcp + 100 мс** — медленный TLS handshake (нет session cache).

Проверка конкретного сервера за балансировщиком

# Обойти DNS и обратиться к конкретному бэкенду
curl --resolve example.com:443:10.0.0.5 https://example.com -sI

Полезно при диагностике проблем с отдельным узлом за load balancer.