Довідник помилок / Cloudflare Error 521: Web server is down
Помилка Cloudflare 521: Web server is down
Error 521 - це сторінка, яку Cloudflare показує замість вашого сайту. Сервер Cloudflare без проблем прийняв запит відвідувача, спробував відкрити зʼєднання з вашим власним сервером (origin), і origin його відхилив. Відвідувач бачить сторінку Cloudflare з розірваним звʼязком між «Cloudflare» та «Host», і нічого з сайту не завантажується. Ключове слово тут «відхилив»: 522 означає, що зʼєднання завершилося тайм-аутом без жодної відповіді, а 521 - що IP origin відповів відмовою або на порту, до якого звернувся Cloudflare, ніхто не слухав.
Перевірте свій сайт
Через що виникає
Найчастіша причина - звичайна непрацездатність: веб-сервер (Apache, nginx, LiteSpeed) зупинився або впав, і на портах 80 та 443 ніхто не приймає зʼєднань. Одразу за нею - фаєрвол на origin, який блокує Cloudflare. Усі відвідувачі приходять через обмежений набір адрес Cloudflare, тож fail2ban, CSF, Imunify360 або лімітер запитів хостингу бачать потік із кількох IP і банять їх. Третя причина - порт, що не відповідає режиму SSL/TLS: у режимі Flexible Cloudflare підключається до origin на порт 80, у Full і Full (strict) - на порт 443, тож сервер без HTTPS перетворює кожен запит на 521, щойно хтось перемкне режим на Full. Рідше A-запис у Cloudflare після переїзду хостингу досі вказує на стару IP, де веб-трафік більше ніхто не слухає.
Як виправити
- Запустіть перевірку на цій сторінці для свого домену. Код 521 і сервер cloudflare у результаті підтверджують, що відповідь іде від Cloudflare, а проблема між Cloudflare і вашим сервером, а не на боці відвідувача. Якщо перевірка показує 200, збій був коротким або вже минув, і шукати причину треба в журналах origin за той час.
- Знайдіть IP origin у панелі Cloudflare, на сторінці DNS, в A-записі домену: навіть для проксійованого запису там видно справжню адресу вашого сервера. Порівняйте її з IP, яку показує панель хостингу для вашого акаунта. Якщо вони різні, запис досі вказує на старий сервер. Виправте його, і 521 зникне за хвилину-дві, бо Cloudflare читає власний DNS без очікування поширення.
- Перевірте origin напряму. Введіть http://IP-ORIGIN, а потім https://IP-ORIGIN у перевірку на цій сторінці: наш сервер підключиться прямо до цієї адреси, оминаючи Cloudflare. Будь-яка HTTP-відповідь, навіть 404 чи стандартна сторінка хостингу, доводить, що веб-сервер працює і слухає. Якщо IP відповідає нам, але відмовляє Cloudflare, origin блокує адреси Cloudflare. Якщо відмовляє і нам, веб-сервер лежить або порт закритий.
- Якщо сервер лежить, перезапустіть веб-сервіс або попросіть про це хостинг і подивіться в журнал помилок, чому він зупинився: заповнений диск, вичерпана памʼять, зламана останньою правкою конфігурація. На спільному хостингу ви зазвичай нічого не можете перезапустити самі, тож надішліть підтримці час помилки та IP origin.
- Якщо origin працює, але відмовляє Cloudflare, дозвольте всі діапазони IP Cloudflare (опубліковані на cloudflare.com/ips) на кожному рівні, який може банити: фаєрвол сервера, fail2ban чи CSF, Imunify360 або плагін безпеки, а також лімітер самого хостингу, який може змінити лише хостинг. Додавайте діапазони в білий список, а не розбанюйте окремі адреси, інакше наступний бан поверне помилку.
- Узгодьте порт із режимом SSL/TLS. Відкрийте SSL/TLS у Cloudflare: режим Full або Full (strict) вимагає, щоб origin приймав HTTPS на порту 443 із сертифікатом, безкоштовним Let's Encrypt або Cloudflare Origin Certificate. Перемикання на Flexible одразу прибирає 521, якщо HTTPS на origin ще не готовий, але тоді трафік між Cloudflare і сервером іде без шифрування, а якщо origin сам примусово перенаправляє на HTTPS, замість 521 ви отримаєте цикл переадресацій. Вважайте Flexible тимчасовим кроком і поверніться до Full (strict), щойно встановите сертифікат.