Попробовать
Назад к блогу

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

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

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

Поэтому инструкция разделена по ролям. Посетителю — короткий список того, что стоит попробовать. Тем, кто открывает сайты через прокси или запускает парсеры, — как понять, кто вернул ошибку (сам сайт, его CDN или прокси), и как повторять запросы, не усугубляя ситуацию. Владельцу сайта — порядок диагностики и пояснение, как код влияет на поисковики.

Ротационные прокси

Ротационные прокси распределяют запросы по множеству IP и снижают число ограничений

Попробовать

Что означает код 503

Стандарт HTTP (RFC 9110) описывает 503 как временную невозможность обработать запрос из-за перегрузки или плановых работ. Сервер может добавить заголовок Retry-After — через сколько секунд или в какое время вернуться. Сформировать такой ответ может любое звено цепочки: приложение, обратный прокси вроде nginx, балансировщик, CDN, файрвол или прямой прокси, через который работаете вы сами.

Текст на экране бывает разным: «Service Unavailable», «Service Temporarily Unavailable», «Сервис временно недоступен», «No healthy upstream» или фирменная страница техработ. Значение имеет именно число в строке статуса.

Чем 503 отличается от похожих кодов

КодЧто означаетТипичная причина
500 Internal Server ErrorПриложение упало при обработке запросаОшибка в коде или скрипте
502 Bad GatewayШлюз получил некорректный ответ от сервера за нимБэкенд упал или вернул мусор
503 Service UnavailableСервис работает, но временно не принимает запросыПерегрузка, техработы, нет живых бэкендов, ограничение частоты
504 Gateway TimeoutШлюз не дождался ответа бэкендаМедленное приложение или база данных
429 Too Many RequestsКлиент прислал слишком много запросовЛимит на конкретного клиента

Формально ограничение частоты — это 429, но многие сайты отвечают слишком активным клиентам именно 503. Помните об этом, если отправляете автоматический трафик.

Почему сервер отдаёт 503

  • Плановые работы. На время обновления сайт переводят в режим обслуживания, который намеренно отвечает 503.
  • Всплеск трафика. Распродажа, упоминание в новостях или волна ботов съедают рабочие процессы, соединения с базой или память.
  • Медленная зависимость. Веб-сервер в порядке, но база, кэш или внешний API тормозят, и запросы копятся в очереди.
  • Нет живых бэкендов. Балансировщик или CDN после неудачных проверок помечает все исходные серверы как недоступные.
  • Защитные системы. WAF или антибот-система отклоняет подозрительных клиентов и выбирает для ответа 503.
  • Прокси не может достучаться до цели. Прямые прокси отвечают 503, когда не удаётся подключиться к адресу назначения или нет свободного выходного IP.

Что сделать посетителю

  1. Подождите минуту и обновите страницу. Большинство ошибок из-за нагрузки или выкладки проходят быстро.
  2. Откройте сайт в приватном окне или с выключенными расширениями, чтобы исключить сломанную сессию или блокировщик.
  3. Попробуйте другую сеть, например мобильный интернет вместо офисного Wi-Fi.
  4. Если вы работаете через прокси или VPN, ненадолго отключите его. Если напрямую страница открывается, проблема в маршруте, а не в сайте.
  5. Посмотрите страницу статуса сервиса или его соцсети — там часто сообщают о сбоях.

Очистка кэша браузера при 503 помогает редко: код приходит с сервера. Если страница не работает часами, исправить ситуацию может только владелец.

Ошибка 503 при работе через прокси

Если вы собираете данные или тестируете сайты через прокси, у ошибки 503 три возможных автора: сам сайт, CDN или файрвол перед ним либо прокси, через который идёт запрос. Решения у них разные, поэтому сначала определите источник.

Шаг 1. Узнайте, кто ответил

Отправьте один и тот же запрос с подробным выводом — напрямую и через прокси:

curl -sv -o /dev/null https://example.com/catalog
curl -sv -o /dev/null -x http://user-7f3k:Pa55word@203.0.113.17:8000 https://example.com/catalog

Читайте вывод сверху вниз:

  • CONNECT tunnel failed, response 503 — сам прокси отказался открыть туннель к сайту. До цели запрос не дошёл.
  • 503 после TLS-рукопожатия пришёл от сайта или его пограничных серверов. Посмотрите заголовки Server, Via, Proxy-Status и служебные заголовки CDN вроде идентификатора запроса.
  • 503 только через прокси при нормальном прямом ответе — сайт ограничивает или блокирует IP прокси.

Отдельно сам прокси удобно проверить в прокси-чекере: он покажет, отвечает ли сервер и какой у него выходной IP.

Шаг 2. Если ошибку вернул прокси

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

Шаг 3. Если сайт вас ограничивает

Многие крупные площадки отвечают на автоматический трафик кодом 503, а не 429. Классический пример — маркетплейсы: их страница проверки на робота приходит со статусом 503 и вежливой припиской про автоматический доступ. Признаки ограничения:

  • ошибки начинаются после серии быстрых запросов и проходят после паузы;
  • один IP получает отказ, а свежий из того же пула проходит;
  • в теле ответа капча или страница «необычный трафик», а не привычная вёрстка.

Лечится это тем, чтобы меньше походить на поток. Снизьте частоту, распределите запросы по адресам с помощью ротационных прокси, держите реалистичные заголовки и сохраняйте cookies в пределах сессии. Подробнее — в чек-листе о том, как снизить риск блокировки при веб-скрейпинге, а разбор того, как сайты распознают ботов, объясняет, какие сигналы выдают парсер.

Шаг 4. Повторяйте запросы с паузами

Долбить перегруженный сервер — значит продлевать сбой и тратить трафик прокси. Если есть Retry-After, соблюдайте его, если нет — увеличивайте паузу экспоненциально:

import random
import time

import requests

PROXY = "http://user-7f3k:Pa55word@203.0.113.17:8000"
session = requests.Session()
session.proxies = {"http": PROXY, "https": PROXY}


def get_with_backoff(url, tries=5):
    for attempt in range(tries):
        resp = session.get(url, timeout=25)
        if resp.status_code != 503:
            return resp
        header = resp.headers.get("Retry-After", "")
        # Retry-After бывает и датой HTTP — тогда используем свою паузу
        pause = int(header) if header.isdigit() else min(2 ** attempt * 3, 90)
        time.sleep(pause + random.uniform(0.2, 1.5))
    return resp

Ограничьте число попыток и записывайте каждый 503 с IP прокси и временем. Закономерности в журнале покажут, в чём дело: в одном адресе, одной стране или определённом времени суток. Другие типичные сбои собраны в статье об ошибках при парсинге сайтов.

Как владельцу сайта найти причину 503

Двигайтесь снаружи внутрь, чтобы не перезапускать сервисы вслепую:

  1. Подтвердите код и масштаб. Все страницы или часть, все регионы или один? Проверьте из внешнего мониторинга.
  2. Начните с периметра. Журналы CDN и балансировщика покажут, провалили ли исходные серверы проверки или ограничение сработало на краю сети.
  3. Проверьте ресурсы сервера. Процессор, память, место на диске, число открытых соединений и занятых рабочих процессов (PHP-FPM, Gunicorn и подобных).
  4. Изучите журналы. Логи ошибок веб-сервера и приложения вокруг первого 503 обычно указывают на узкое место.
  5. Проверьте зависимости. Пул соединений с базой, кэш, очереди и внешние API.
  6. Посмотрите правила файрвола. Новое правило WAF или лимит частоты может отдавать 503 обычным посетителям.
  7. Сопоставьте с последними изменениями. Выкладка, обновление плагина или правка конфигурации прямо перед ошибками — главный подозреваемый.

В WordPress после прерванного обновления в корне сайта остаётся файл .maintenance, и сайт застревает в режиме обслуживания; удаление файла возвращает его к работе. Ещё одна частая причина — плагин, который перегружает базу, поэтому разумно отключать плагины по одному.

Чтобы ошибка не повторялась, добавьте кэширование, выносите тяжёлые задачи в очереди, заранее масштабируйте рабочие процессы перед известными пиками, выкатывайте обновления постепенно и настройте оповещения о доле ответов 5xx.

Как 503 влияет на SEO

Поисковики понимают 503 как «зайдите позже», поэтому страница техработ должна отдавать именно этот код, а не 200. Google снижает частоту сканирования, когда встречает ответы 5xx или 429, и возвращается позже. Короткий сбой не вредит, но адреса, которые отвечают 503 несколько дней подряд, могут начать выпадать из индекса. На время плановых работ добавляйте Retry-After и не затягивайте их.

Частые вопросы об ошибке 503

Ошибка 503 — проблема у меня или у сайта?

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

Сколько длится ошибка 503?

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

Почему 503 появляется только через прокси?

Скорее всего, сайт или его CDN ограничивает этот IP либо прокси не может открыть туннель к адресу назначения. Сравните прямой запрос с запросом через прокси и поищите в выводе curl строку «CONNECT tunnel failed».

Нужно ли парсеру повторять запрос после 503?

Да, но с растущими паузами и ограничением числа попыток. Соблюдайте заголовок Retry-After, если сервер его прислал, и меняйте IP, если один адрес раз за разом получает отказ.

Вредит ли ошибка 503 позициям в поиске?

Кратковременная — нет. Поисковики считают её временной, но страницы, которые отдают 503 несколько дней, теряют приоритет сканирования и со временем могут выпасть из индекса.