Другое 521Высокая

Ошибка 521 Cloudflare: причины и способы исправления

Ошибка 521 возникает, когда Cloudflare не устанавливает TCP-соединение с origin-сервером. В статье разбираются основные причины и даются конкретные шаги по проверке доступности сервера, настройки брандмауэра и DNS.

Обновлено 3 марта 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Cloudflare (все планы)Веб-серверы: nginx 1.10+, Apache 2.4+, IIS 7+ОС: Linux (Ubuntu 16.04+, CentOS 7+), Windows Server 2012+

Что такое ошибка 521 Cloudflare

Схема архитектуры Cloudflare, показывающая прокси между клиентом и origin-сервером при ошибке 521

Архитектура Cloudflare с origin-сервером

Ошибка 521 — это HTTP-статус, который возвращает Cloudflare, когда не может установить TCP-соединение с вашим origin-сервером. Полный текст ошибки: "Error 521: Web server is down".

Проблема возникает на этапе, когда Cloudflare пытается проксировать запрос пользователя к вашему серверу, но получает отказ соединения. В отличие от ошибок 502-504, которые часто связаны с таймаутами или плохими ответами, ошибка 521 указывает, что Cloudflare не может дойти до сервера вообще.

Основные причины ошибки 521

Пример конфигурации nginx с директивой listen 0.0.0.0 для внешних подключений

Настройка nginx на прослушивание всех интерфейсов

  1. Веб-сервер остановлен — служба nginx, Apache или IIS не запущена.
  2. Сервер слушает только localhost (127.0.0.1) — в конфигурации указан listen 127.0.0.1:80, а не 0.0.0.0:80.
  3. Сервер работает на нестандартном порту — например, на 8080, а Cloudflare пытается подключиться к 80/443.
  4. Брандмауэр блокирует порты 80/443 — особенно для IP-адресов Cloudflare.
  5. Неверный IP в DNS-записи Cloudflare — домен указывает на другой сервер.
  6. SSL/TLS несовместимы — например, в Cloudflare выбран режим Full, а на сервере нет SSL-сертификата.
  7. Хостинг-провайдер блокирует Cloudflare — на shared-хостинге требуется явно разрешить IP Cloudflare.

Пошаговая диагностика и решение

Шаг 1: Проверьте, жив ли сервер

Сначала исключите проблему на стороне Cloudflare. Определите реальный IP-адрес вашего origin-сервера (из панели хостинга или через dig с отключённым прокси в Cloudflare). Затем проверьте доступность портов напрямую:

# Linux/macOS
curl -I http://ВАШ_IP:80
curl -I https://ВАШ_IP:443

# Windows PowerShell
Test-NetConnection -ComputerName ВАШ_IP -Port 80
Test-NetConnection -ComputerName ВАШ_IP -Port 443

Если соединение не устанавливается (connection refused/timeout), проблема на сервере. Если получаете HTTP-ответ (200 OK), сервер работает, и проблема, скорее всего, в брандмауэре или настройках Cloudflare.

Также проверьте статус службы:

# systemd (Linux)
systemctl status nginx
systemctl status apache2

# Windows
# Откройте services.msc и найдите службу веб-сервера

Шаг 2: Настройте веб-сервер на внешние подключения

Если сервер запущен, но доступен только по localhost, измените конфигурацию.

Nginx (/etc/nginx/sites-available/ваш_сайт):

listen 80;
# или
listen 0.0.0.0:80;

Уберите listen 127.0.0.1:80;. После изменений выполните nginx -t && systemctl reload nginx.

Apache (/etc/apache2/ports.conf или виртуальный хост):

Listen 80

Или Listen 0.0.0.0:80. Проверьте конфиг: apache2ctl configtest, затем systemctl reload apache2.

IIS:

  1. Диспетчер IIS → сайт → "Привязки".
  2. Убедитесь, что есть привязка http на *:80 (или 0.0.0.0:80).

Шаг 3: Настройте брандмауэр

Откройте порты 80 (HTTP) и 443 (HTTPS) для входящих подключений.

Linux (firewalld):

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Linux (iptables):

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Сохраните правила (например, iptables-save > /etc/iptables/rules.v4)

Windows:

  1. "Брандмауэр Защитника Windows" → "Создать правило".
  2. Для портов 80 и 443 (TCP) разрешите подключение для всех профилей.
  3. Для большей безопасности добавьте IP-адреса Cloudflare в правила. Актуальный список: https://www.cloudflare.com/ips/.

Шаг 4: Проверьте настройки Cloudflare

  1. DNS-запись: В панели Cloudflare (DNS → Records) убедитесь, что IP в записи A/AAAA полностью совпадает с IP вашего сервера.
  2. Режим прокси:
    • Оранжевое облако — Cloudflare проксирует трафик. Сервер должен слушать порты 80/443.
    • Серое облако — трафик идёт напрямую, Cloudflare не участвует. Подходит, если сервер на нестандартном порту, но вы теряете функции Cloudflare.
  3. SSL/TLS:
    • Если на сервере нет SSL-сертификата, выберите Flexible.
    • Если SSL есть, выберите Full (strict).
    • Несоответствие режимов вызывает ошибку 521.

Шаг 5: Если сервер на shared-хостинге

Некоторые хостинги блокируют все входящие подключения, кроме своих. Cloudflare может попасть в блокировку.

  1. Свяжитесь с поддержкой хостинга.
  2. Сообщите, что используете Cloudflare и получаете ошибку 521.
  3. Попросите добавить IP-адреса Cloudflare в исключения брандмауэра.
  4. Уточните, требуется ли использовать специальные DNS-серверы.

Как предотвратить ошибку 521

  • Мониторьте доступность сервера через curl или сервисы вроде UptimeRobot.
  • Всегда настраивайте веб-сервер на 0.0.0.0, а не 127.0.0.1.
  • При изменении IP-адреса сервера сразу обновляйте DNS-запись в Cloudflare.
  • Настройте брандмауэр с учётом Cloudflare — разрешите их IP-адреса.
  • Выбирайте правильный режим SSL/TLS в Cloudflare, соответствующий конфигурации сервера.
  • Перед подключением Cloudflare к shared-хостингу уточняйте у провайдера поддержку Cloudflare.

💡 Быстрая проверка: Если сайт работает при прямом доступе по IP, но не работает через домен с Cloudflare — проблема в настройках DNS, брандмауэре или SSL/TLS в Cloudflare.

Часто задаваемые вопросы

Чем ошибка 521 отличается от 502, 503 и 504?
Проверил сервер напрямую по IP — всё работает, но через Cloudflare ошибка 521. В чём дело?
Можно ли использовать Cloudflare без открытия портов 80/443 на сервере?

Полезное

Проверьте доступность сервера напрямую
Убедитесь, что веб-сервер слушает внешние интерфейсы
Откройте порты 80 и 443 в брандмауэре
Проверьте DNS-запись и режим прокси в Cloudflare
Сверьте настройки SSL/TLS

Эта статья помогла вам решить проблему?