Бесплатный разбор
Сайты и SEO

Ошибка 503 Service Unavailable: что значит, почему сервер недоступен и как исправить

Что значит 503 Service Unavailable, чем она отличается от 500, 502 и 504, как проверить Retry-After и логи, настроить обслуживание и вернуть сайт. С промптами для нейросети.

Коротко. 503 Service Unavailable означает, что сервер сейчас не может обработать запрос. Это временное состояние: обслуживание, перегрузка, лимиты, нехватка ресурсов или сбой вышестоящего сервиса. Пользователь видит ошибку, но ситуация может исправиться без изменения адреса.

Как читать материал. В каждом разделе два пути: сделать руками и инструментами или подключить нейросеть, которая ускоряет разбор. Третий пункт: проверка. Нейросеть не видит сервер и не читает логи без ваших данных, поэтому результат проверяем инструментами.

Что означает ошибка 503

503 относится к классу 5xx. Сервер принял запрос, но временно не готов его обслужить. В ответе может быть заголовок Retry-After: он говорит, через сколько секунд или к какой дате стоит повторить запрос.

503 не всегда означает аварию. Иногда это правильный ответ: сайт на обслуживании, идёт миграция, включён режим защиты от перегрузки. Проблема начинается, когда 503 отдаётся всем подряд, висит сутками или скрывает другую ошибку.

Поисковые системы считают 5xx временной ошибкой и повторяют запрос. Если 503 держится долго, обход замедляется, а страницы могут перестать обновляться в индексе. Поэтому важно не только вернуть сайт, но и правильно оформить временную недоступность.

503, 500, 502 и 504: в чём разница

Код Кто отвечает Что означает Что проверить
500 Приложение или сайт Внутренняя ошибка Логи приложения и веб-сервера
502 Шлюз или прокси Не получил корректный ответ от бэкенда Бэкенд, PHP-FPM, nginx, CDN
503 Сервер Временно недоступен или перегружен Нагрузку, лимиты, обслуживание
504 Шлюз или прокси Не дождался ответа Таймауты, медленные запросы, базу

503 говорит о временном состоянии. 500 и 502 чаще указывают на сбой, который нужно разбирать. 504 означает, что ответа не дождались. Один инцидент может дать разные коды на разных слоях.

Классический путь. Проверьте статус и заголовок Retry-After.

curl -I https://example.com/
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

С нейросетью. Опишите симптом и попросите разложить причины.

Сайт отдаёт 503 на всех страницах. За день до этого вырос трафик, деплоя не было.
Помоги составить план: какие метрики, логи и лимиты проверить первыми.
Не предлагай отключать сайт целиком без причины.

Проверка. Если в заголовках есть Retry-After, сервер сам говорит, когда повторить запрос. Если заголовка нет, смотрите логи и нагрузку.

Почему появляется 503

  • Плановое обслуживание или миграция.
  • Перегрузка: слишком много запросов, медленные сценарии, тяжёлые страницы.
  • Лимиты nginx: limit_req, limit_conn.
  • Нехватка памяти, диска или процессов.
  • Бэкенд или база временно недоступны.
  • CDN или WAF отдаёт 503 вместо origin.
  • Деплой, при котором приложение ещё не поднялось.
  • Защита от DDoS или агрессивный rate limit.

Если 503 на всех сайтах сервера, начинайте с хостинга и инфраструктуры. Если на одном сайте, смотрите его приложение, лимиты и нагрузку.

Схема: причины 503 — обслуживание, перегрузка, лимиты, бэкенд или CDN
Схема: 503 — временное состояние. Причина определяет, что исправлять.

Как найти причину

1. Зафиксируйте масштаб

Проверьте:

  • 503 на одной странице или на всём сайте;
  • у всех пользователей или только у вас;
  • постоянно или периодически;
  • что было до ошибки: рост трафика, деплой, обновление, смена DNS, включение CDN.

Сохраните URL, время и код ответа. Если есть Retry-After, запишите его значение.

2. Проверьте, кто отдал 503

Посмотрите заголовки:

curl -I https://example.com/

Обратите внимание на:

  • server: nginx, server: cloudflare, server: Apache;
  • Retry-After;
  • страницу ошибки: у CDN и nginx она выглядит по-разному;
  • одинаковый ли ответ на разных URL.

Если 503 отдаёт CDN, смотрите его статус и настройки origin. Если nginx, смотрите лимиты и бэкенд.

3. Посмотрите нагрузку и лимиты

  • top или htop: какие процессы едят CPU и память.
  • free -m: хватает ли памяти.
  • df -h: не переполнен ли диск.
  • ss -s или netstat: сколько соединений.
  • systemctl status php-fpm, systemctl status nginx: живы ли сервисы.
  • Настройки limit_req, limit_conn, worker_connections.
  • Логи nginx: error.log и access.log с кодом 503.

4. Проверьте логи

Типичные записи:

  • limiting requests, excess: ... by zone;
  • limiting connections by zone;
  • no live upstreams;
  • connect() failed;
  • worker_connections are not enough;
  • upstream timed out.

Ищите момент начала ошибки и первую причинную запись. Последняя строка часто лишь следствие.

Классический путь. Посмотрите ошибки nginx и системные логи.

tail -n 100 /var/log/nginx/error.log
grep -i "limiting\|503\|upstream" /var/log/nginx/error.log | tail -n 50

С нейросетью. Передайте очищенный фрагмент лога.

Вот фрагмент лога с ошибкой 503. Сгруппируй строки по причинам,
выдели первую причинную ошибку и предложи три проверки.
Не придумывай строки, которых нет. Я удалил IP и токены.

Проверка. Каждую гипотезу подтвердите строкой лога, тестом или изменением на staging.

5. Проверьте последние изменения

503 часто появляется после деплоя, роста трафика, смены лимитов, включения CDN или обновления PHP. Откатывайте по одному изменению и после каждого шага проверяйте статус.

6. Не путайте 503 с защитой от ботов

Rate limit и WAF могут отдавать 503 поисковым роботам. Проверьте, не блокируются ли Googlebot и Яндексбот. Если бот получает 503 на важных страницах, сайт может потерять обход.

Разбор проекта

Проверим сайт за вас

Посмотрим ошибки, нагрузку и лимиты, скажем, что исправлять первым. 20–30 минут в Zoom, Telegram или по телефону. Бесплатно.

Разобрать проект

Как исправить по причинам

Причина Что делать Проверка
Плановое обслуживание Включить режим обслуживания с кодом 503 и Retry-After Страница отдаёт 503, не 200
Перегрузка Найти тяжёлые запросы, кешировать, добавить ресурсы Нагрузка падает, 503 уходит
Лимиты nginx Проверить limit_req, limit_conn, worker_connections Нет записей limiting в логе
Нехватка памяти Освободить память, проверить утечки, поднять лимит Нет OOM и падений
Бэкенд не поднялся Проверить сервис и деплой Процесс работает, 503 ушёл
CDN или WAF Проверить origin, правила и статус CDN видит здоровый origin
DDoS Включить защиту, проверить лимиты Легитимные запросы проходят
Ошибка конфига Проверить nginx -t, откатить правку Конфиг валиден, сайт открывается

Не меняйте несколько вещей сразу. Иначе после исправления невозможно понять, что помогло.

Режим обслуживания без вреда

Правильное обслуживание выглядит так:

  • сервер отдаёт код 503, а не 200;
  • в ответе есть Retry-After;
  • страница обслуживания статическая и не зависит от базы;
  • администраторы и мониторинг имеют доступ;
  • поисковые роботы не получают 503 дольше необходимого;
  • после работ статус возвращается к 200, а страницы проверяются.

Пример для nginx:

location / {
    return 503;
}

error_page 503 /maintenance.html;

location = /maintenance.html {
    internal;
}

Если нужно отдать Retry-After, добавьте заголовок в тот же контекст:

location / {
    add_header Retry-After 3600 always;
    return 503;
}

Проверьте, что страница обслуживания не отдаёт 200 и не индексируется как обычная.

Что отправить хостингу

  • Приложите URL и время с часовым поясом.
  • Укажите код ответа и заголовок Retry-After, если он есть.
  • Добавьте фрагмент лога nginx или панели хостинга без паролей и токенов.
  • Опишите, что уже проверили: нагрузку, диск, память, лимиты.
  • Перечислите изменения за последние сутки.
  • Уточните, есть ли CDN, WAF или балансировщик.
  • Напишите, воспроизводится ли ошибка на всех устройствах.

Частые ошибки

  • Отдавать 200 вместо 503 на странице обслуживания.
  • Ставить 503 на весь сайт из-за одной тяжёлой страницы.
  • Забывать Retry-After.
  • Блокировать поисковых роботов rate limit-ом.
  • Отключать кеш и CDN, не проверив причину.
  • Не мониторить 5xx.
  • Оставлять обслуживание на несколько дней без объяснения.
  • Верить ответу нейросети без проверки.

Вопросы

503 — ошибка сервера или сайта?

Формально это класс 5xx, то есть ошибка на стороне сервера. Причина может быть в обслуживании, перегрузке, лимитах, бэкенде или инфраструктуре.

Влияет ли 503 на SEO?

Пока ошибка временная, поиск повторяет запрос. Если 503 держится долго, обход замедляется, а страницы могут перестать обновляться в индексе. Долгое обслуживание без необходимости лучше не устраивать.

Чем 503 отличается от 502?

503 означает, что сервер временно недоступен или перегружен. 502 означает, что шлюз не получил корректный ответ от бэкенда.

Что такое Retry-After?

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

Можно ли отдавать 503 на время деплоя?

Да, если это короткое обслуживание и страница корректно отдаёт 503 с Retry-After. Не превращайте деплой в многодневный 503.

Может ли нейросеть исправить 503?

Нет. Она помогает разобрать логи, нагрузку и составить план проверки. Причину подтверждают инструментами и тестами.

Источники

Официальные документы 8

Разбор проекта

Разберём сайт и спрос

Посмотрим сайт и спрос, скажем, что исправить первым. 20–30 минут в Zoom, Telegram или по телефону. Бесплатно и без обязательств.

Разобрать проектВсе материалы →