Ошибки

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

503 Service Unavailable — сервер временно не может обработать запрос: перегружен или закрыт на обслуживание. Главное слово — «временно»: правильный ответ 503 обещает, что сайт скоро вернётся, и может подсказать в заголовке Retry-After, когда именно. Поэтому 503 — правильный код и для технических работ на сайте.

Обновлено 07.10.2026≈ 5 мин чтения
Содержание 10

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

По стандарту HTTP код 503 значит: сервер сейчас не может обработать запрос из-за временной перегрузки или плановых работ, и скорее всего это пройдёт через какое-то время. В заголовке Retry-After сервер может подсказать, когда повторить запрос. Отвечать именно 503 сервер не обязан: перегруженный сервер может и просто не принимать соединения.

Страница nginx с этой ошибкой называется «503 Service Temporarily Unavailable».

Если вы посетитель

  1. Подождите несколько минут и обновите страницу: 503 — ошибка временная.
  2. Если на странице написано о технических работах, вернитесь позже — сайт обновляют.
  3. Если ошибка держится долго, сообщите владельцу сайта, какую страницу вы открывали и когда.

Откуда берётся 503

  • Ограничение частоты запросов в nginx. Модуль limit_req по умолчанию отвечает на лишние запросы кодом 503. Если в журнале ошибок есть строки «limiting requests», дело в нём. Для таких ответов точнее код 429 — как его включить, рассказано в разборе ошибки 429.
  • Технические работы. Сайт закрыли на обслуживание — вручную или на время обновления, как это делает WordPress.
  • Перегрузка. Сервер или программа сайта не справляются с потоком запросов.
  • Лимиты хостинга. На виртуальном хостинге 503 может означать, что сайт упёрся в лимит тарифа. Уточните в поддержке.

Как правильно закрыть сайт на технические работы

Страница «ведутся работы» должна отдаваться с кодом 503, а не 200. С кодом 200 поисковик увидит обычную страницу с текстом о работах вместо содержимого сайта.

В nginx на время работ замените рабочий блок server сайта таким, а после работ верните рабочий. Файл страницы здесь — /var/www/maintenance/maintenance.html:

server {
    listen 80;
    server_name example.com;
    # для HTTPS добавьте сюда те же строки listen и сертификата, что в рабочем блоке

    error_page 503 /maintenance.html;

    location = /maintenance.html {
        root /var/www/maintenance;
        add_header Retry-After 3600 always;
        internal;
    }

    location / {
        return 503;
    }
}
  • error_page без знака «=» сохраняет исходный код, поэтому страница уходит с кодом 503.
  • Retry-After 3600 подсказывает, что вернуться стоит через час. Без слова always nginx не добавит заголовок к ответу 503: по умолчанию add_header работает только для кодов 200, 201, 204, 206, 301, 302, 303, 304, 307 и 308.
  • internal не даёт открыть /maintenance.html напрямую: на такой запрос nginx ответит 404.
  • Стили и картинки встройте прямо в HTML-файл: любой другой адрес на время работ отвечает 503.

После любых правок: sudo nginx -t, затем sudo systemctl reload nginx.

«Briefly unavailable for scheduled maintenance» в WordPress

Во время обновления WordPress кладёт в корень сайта файл .maintenance. Пока он есть, сайт отвечает 503 с заголовком Retry-After: 600 и сообщением «Briefly unavailable for scheduled maintenance. Check back in a minute.» — на сайте на русском языке оно будет переведено. Когда обновление заканчивается, WordPress удаляет файл.

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

Своё сообщение можно задать файлом wp-content/maintenance.php: WordPress подключит его вместо стандартного и сразу остановится. Но тогда код 503 и заголовок Retry-After ваш файл должен отправить сам — например, первой строкой:

<?php header('Retry-After: 600', true, 503); ?>

На обычном хостинге

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

503 и поиск Яндекса

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

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

КодКогда возникает
429Лимит запросов для конкретного клиента
500Ошибка в программе сайта или в настройках сервера
502Посредник не получил от следующего сервера нормального ответа
503Сервер временно не может обработать запрос: перегрузка или работы
504Посредник не дождался ответа от следующего сервера

Источники

Сверено 6 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 07.10.2026