Ошибка 521: что означает «Web Server Is Down» и как её исправить

Вы открываете сайт и видите серую страницу Cloudflare: «Web server is down. Error code 521». Браузер показывает «Working», Cloudflare показывает «Working», а хост — «Error». Если это ваш сайт, каждая минута простоя стоит вам посетителей, продаж и доверия.
Хорошая новость: у ошибки 521 почти всегда одна из нескольких причин, и большинство из них устраняются за несколько минут, как только поймёшь, какая именно у вас. В этом гайде показано, как быстро найти точную причину, исправить её с помощью команд, которые можно просто скопировать, и не допустить повторения, включая две причины, о которых умалчивает большинство руководств.
Краткий ответ
Код ошибки 521 означает, что Cloudflare попытался подключиться к исходному серверу сайта, а сервер отклонил соединение. Чаще всего причина в остановившемся веб-сервере, в файрволе, который блокирует IP-адреса Cloudflare, или в настройке SSL, из-за которой Cloudflare обращается к порту, который никто не слушает. Если вы посетитель, проблема на стороне сайта, а не у вас. Если сайт ваш, начните с проверки того, что веб-сервер запущен и диапазоны IP-адресов Cloudflare разрешены.
Сайт не открывается только в некоторых странах? Проверьте его так, как видят реальные посетители, через ротационные резидентские прокси CyberYozh в 195+ странах, от $2/ГБ. Как именно это сделать, мы покажем ниже.
Вы посетитель или владелец сайта: начните отсюда
Если вы просто зашли на сайт:
Ошибка 521 не связана с вашим устройством, браузером или интернет-соединением
Подождите несколько минут и обновите страницу. Многие ошибки 521 проходят после перезапуска сервера
Если ошибка не исчезает долго, исправлять её должен владелец сайта. Сообщите ему, если есть возможность
VPN или прокси обычно не помогут, потому что сервер отклоняет сам Cloudflare. Исключение — региональная блокировка, о ней ниже
Если сайт ваш:
Запущен ли ваш веб-сервер? → Шаг 1
Открывается ли сайт в обход Cloudflare? Если да → шаги 3–5. Если нет → шаги 1, 2 и 6
Ошибка возвращается каждые несколько дней? → «Почему ошибка 521 возвращается»
Она возникает только в некоторых странах? → «Ошибка 521 только в некоторых странах?»
Что означает код ошибки 521

Код ошибки 521 — это способ Cloudflare сказать: «Я связался с вашим сервером, но он отказался со мной разговаривать». Это не официальный код состояния HTTP. Это один из собственных 5xx-кодов Cloudflare, поэтому его также пишут как HTTP error 521 или status code 521.
На странице ошибки Cloudflare схема показывает, где именно произошёл сбой: браузер и Cloudflare в порядке, а третий блок, подписанный «Host», показывает Error. Такая «ошибка хоста Cloudflare» означает, что проблема на исходном сервере — машине, на которой действительно работает сайт.
Чем она отличается от соседних кодов:
520: сервер ответил, но пустым или некорректным ответом. См. наш гайд по коду ошибки 520
521: сервер отклонил соединение
522: сервер не ответил вовремя
Что такое код ошибки 521 в Cloudflare
Когда пользователь заходит на сайт, работающий через Cloudflare, запрос сначала попадает в дата-центр Cloudflare. Затем Cloudflare открывает соединение с вашим исходным сервером, чтобы получить страницу. Код ошибки 521 в Cloudflare появляется, когда это соединение активно отклоняется.
Согласно документации Cloudflare, есть две основные причины:
Приложение веб-сервера отключено, например Nginx или Apache аварийно завершил работу или был остановлен
Запросы Cloudflare блокируются на исходном сервере, обычно файрволом, плагином безопасности или ограничителем частоты запросов
Каждое из исправлений ниже направлено на одну из этих двух причин.
Как исправить код ошибки 521 в Cloudflare (7 шагов)

Выполняйте шаги по порядку. Большинство ошибок 521 решается к шагу 3.
Шаг 1: Проверьте, что веб-сервер запущен
Подключитесь к серверу и проверьте статус веб-сервера:
sudo systemctl status nginx # or: apache2 / httpd
sudo systemctl restart nginx # restart it if it's stopped
If it keeps stopping, check why. A common cause is the server running out of memory:
bash
sudo journalctl -u nginx --since "1 hour ago"
sudo dmesg | grep -i "killed process"Шаг 2: Проверьте сервер напрямую, в обход Cloudflare
Так вы узнаете, работает ли сам сервер. Замените ORIGIN_IP на реальный IP-адрес вашего сервера:
curl -I --resolve example.com:443:ORIGIN_IP https://example.com
sudo ss -tlnp | grep -E ':80|:443'Первая команда загружает сайт прямо с сервера. Вторая показывает, слушает ли что-нибудь порты 80 и 443. Если порты никто не слушает, Cloudflare не к чему подключаться.
Шаг 3: Разрешите IP-адреса Cloudflare в файрволе
Это самое частое исправление. Cloudflare публикует полный список своих диапазонов IP на cloudflare.com/ips. Разрешите их все на портах 80 и 443. Для ufw:
for ip in $(curl -s https://www.cloudflare.com/ips-v4) $(curl -s https://www.cloudflare.com/ips-v6); do
sudo ufw allow from "$ip" to any port 80,443 proto tcp
doneТакже проверьте:
Плагины безопасности, например Wordfence, и серверные инструменты вроде Imunify360 или CSF
Блокировщик IP в панели управления хостингом, например в cPanel
Сетевой файрвол или DDoS-защиту вашего хостера, которыми вы можете не управлять напрямую
Частая ошибка: вставить в .htaccess правило «запретить всем, разрешить Cloudflare». Оно может заблокировать ваш собственный мониторинг и инструменты администрирования. Разрешайте диапазоны Cloudflare, не блокируя всё остальное, если только вы не планировали это заранее.
Шаг 4: Согласуйте режим SSL/TLS с нужным портом
Cloudflare подключается к разным портам в зависимости от настройки SSL/TLS:
Режим SSL/TLS в Cloudflare | Порт, к которому подключается Cloudflare | Что нужно вашему серверу |
Flexible | 80 | Веб-сервер, слушающий порт 80 |
Full | 443 | Веб-сервер, слушающий порт 443, с любым сертификатом |
Full (strict) | 443 | Порт 443 с действительным сертификатом, например бесплатным Cloudflare Origin Certificate |
Если после переключения на Full сразу появилась ошибка 521, скорее всего, ваш сервер не слушает порт 443.
Шаг 5: Проверьте DNS-записи, включая IPv6
В настройках DNS Cloudflare убедитесь, что A-запись указывает на актуальный IP-адрес вашего сервера. Затем найдите AAAA-запись (IPv6). Если она есть, а сервер не принимает подключения по IPv6, Cloudflare может попытаться подключиться по IPv6 и получить отказ, тогда как при проверке по IPv4 сайт работает отлично. Либо удалите AAAA-запись, либо настройте веб-сервер на прослушивание IPv6.
Шаг 6: Проверьте конфигурации с Docker или обратным прокси
Если сайт работает в Docker или за таким инструментом, как Nginx Proxy Manager, убедитесь, что порт контейнера опубликован, например -p 80:80 -p 443:443. Также проверьте, что приложение слушает 0.0.0.0, а не только 127.0.0.1. Приложение, которое слушает только localhost, отклоняет все внешние подключения, включая подключения Cloudflare.
Шаг 7: Свяжитесь с хостинг-провайдером
Если ничего из перечисленного не помогло, возможно, хостер блокирует Cloudflare на сетевом уровне. Отправьте ему Ray ID, который указан внизу страницы ошибки Cloudflare, и время, когда ошибка произошла. По ним он найдёт конкретный заблокированный запрос.
Почему ошибка 521 возвращается
Этот вопрос заполняет форумы о хостинге, а большинство руководств на него не отвечает. Сайт работает, затем какое-то время показывает 521, затем всё само проходит.
Обычная причина: за Cloudflare каждый посетитель обращается к вашему серверу с IP-адреса Cloudflare. Инструменты безопасности вроде fail2ban, CSF или mod_evasive, а также собственный ограничитель частоты запросов на сервере видят тысячи запросов с нескольких IP, принимают их за атаку и временно банят. Эти «атакующие» — сам Cloudflare, поэтому сайт отдаёт ошибку 521, пока бан не истечёт.
Настоящее решение состоит из двух частей:
1. Покажите серверу реальный IP-адрес каждого посетителя. Cloudflare передаёт его в заголовке CF-Connecting-IP.
Для Nginx:
nginx
# Repeat set_real_ip_from for every range listed at cloudflare.com/ips
set_real_ip_from 173.245.48.0/20;
real_ip_header CF-Connecting-IP;
For Apache, using mod_remoteip:
apache
RemoteIPHeader CF-Connecting-IP
# Repeat for every range listed at cloudflare.com/ips
RemoteIPTrustedProxy 173.245.48.0/202. Добавьте диапазоны Cloudflare в списки исключений ваших инструментов безопасности, например ignoreip в fail2ban или csf.ignore в CSF. Тогда инструменты будут банить только реальных нарушителей, а не сам Cloudflare.
Быстрая проверка: если в логах файрвола есть баны IP-адресов, начинающихся с 173.245., 104.16. или 172.64., причина найдена. Это диапазоны Cloudflare.
Ошибка 521 только в некоторых странах: проверьте из разных локаций
Иногда сайт отлично работает у вас, но посетителям из других мест показывает ошибку 521. Каждый дата-центр Cloudflare подключается к вашему серверу со своих диапазонов IP. Если файрвол или правило блокировки по странам в таком инструменте, как CSF, блокирует часть этих диапазонов, ошибку видят только посетители, чьи запросы идут через эти дата-центры.
У каждого сайта на Cloudflare есть встроенная диагностическая страница /cdn-cgi/trace. Строка colo= в ней показывает, какой дата-центр Cloudflare обработал ваш запрос. Чтобы узнать, что получают посетители из разных стран, выполните проверку через резидентские прокси, расположенные в этих странах:
import requests
SITE = "https://example.com"
PROXIES = { # one proxy per country you want to test
"US": "http://USERNAME:PASSWORD@GATEWAY_HOST:PORT",
"DE": "http://USERNAME:PASSWORD@GATEWAY_HOST:PORT",
"SG": "http://USERNAME:PASSWORD@GATEWAY_HOST:PORT",
}
for country, proxy in PROXIES.items():
p = {"http": proxy, "https": proxy}
trace = requests.get(f"{SITE}/cdn-cgi/trace", proxies=p, timeout=15).text
colo = next((line[5:] for line in trace.splitlines() if line.startswith("colo=")), "?")
status = requests.get(SITE, proxies=p, timeout=15).status_code
print(f"{country}: Cloudflare data center {colo}, status {status}")Если одна страна возвращает 521, а остальные — 200, вы нашли региональную блокировку. Проверьте файрвол и правила по странам на предмет диапазонов Cloudflare, обслуживающих этот регион.
Проверяйте сайт из 195+ стран: используйте ротационные резидентские прокси CyberYozh с таргетингом по странам, от $2/ГБ, с переносом неиспользованного трафика. Нужно увидеть, что получают мобильные посетители? Попробуйте мобильные прокси CyberYozh LTE/5G. Сначала подтвердите местоположение каждого прокси в бесплатном чекере IP CyberYozh.
Ошибка 521 при скрейпинге: не тратьте трафик прокси впустую
Если ваш скрейпер или SEO-инструмент получает ошибку 521, сервер целевого сайта не работает или отклоняет Cloudflare. Вас он не блокирует. Смена IP не поможет, а каждый повторный запрос расходует трафик.
Что делать вместо этого:
Увеличивайте паузу: с каждым повтором ждите дольше и прекращайте после трёх-четырёх попыток
Проверьте один раз из другого региона. Если ошибка только в одном регионе, это региональная блокировка на стороне целевого сайта
Переместите URL в очередь повторов и продолжайте выполнять остальную задачу
Учитывайте ошибки 521 отдельно от блокировок, таких как 403 или 1020 от Cloudflare, чтобы показатели успешности оставались честными
Для больших задач backconnect-прокси с ротацией берёт на себя смену IP при настоящих блокировках, а ваш код обрабатывает ошибки 521 с увеличением пауз. Как команды это настраивают, показано в нашем разделе скрейпинг.
Как предотвратить ошибку 521

Мониторьте доступность из нескольких локаций, чтобы узнавать об ошибке 521 раньше посетителей
Поддерживайте список IP Cloudflare в актуальном состоянии в файрволе. Cloudflare время от времени обновляет свои диапазоны
Настройте автоматический перезапуск веб-сервера после сбоя, например с помощью Restart=always в его службе systemd
Восстанавливайте реальные IP посетителей, чтобы инструменты безопасности не банили Cloudflare
Тестируйте изменения SSL и DNS на тестовом домене, прежде чем менять рабочий сайт
Следите за памятью и процессором, ведь сервер, у которого закончилась память, перестаёт принимать подключения
Заключение
Код ошибки 521 выглядит тревожно, но это одна из наиболее легко исправимых ошибок Cloudflare, потому что причина всегда на вашем собственном сервере. Проверьте, что веб-сервер запущен, разрешите диапазоны IP Cloudflare, согласуйте режим SSL с нужным портом и поищите лишнюю AAAA-запись. Если ошибка возвращается, не давайте инструментам безопасности банить Cloudflare. Если она появляется только в некоторых странах, прежде чем что-то менять, проверьте сайт из этих стран.
Увидьте свой сайт так, как его видит весь мир: изучите все тарифы в каталоге CyberYozh: ротационные резидентские прокси в 195+ странах от $2/ГБ и мобильные прокси LTE/5G от $1.70 в день.
