Помилка 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 на день.
