Что означают ошибки 52x у Cloudflare
Коды 520-526 — это не ошибки самого Cloudflare, а сигнал о том, что edge-сервер не смог получить нормальный ответ от origin-сервера сайта. Разница между кодами — в том, на каком именно шаге связь оборвалась: при установке соединения, во время SSL-хендшейка или уже при ожидании ответа от приложения.
Разбирать такую ошибку нужно со стороны origin-сервера, а не со стороны Cloudflare: сеть Cloudflare в это время работает исправно, а проблема — в связи с конкретным VDS или в самом веб-сервере на нём.
Таблица кодов: что означает каждый
Коротко о типичной причине каждого кода из этой группы:
| Код | Значение | Типичная причина |
|---|---|---|
| 520 | Пустой или некорректный ответ от origin | Веб-сервер упал или вернул повреждённые заголовки |
| 521 | Origin отклонил соединение | Веб-сервер остановлен или порт закрыт firewall |
| 522 | Соединение не установлено вовремя | Origin недоступен по сети или перегружен |
| 523 | Origin не найден в маршрутизации | Неверный IP-адрес в DNS-записи A |
| 524 | Превышено время ожидания ответа | Приложение отвечает дольше 100 секунд |
| 525 | Ошибка SSL-хендшейка с origin | Просроченный или невалидный сертификат на сервере |
Ошибка 520: пустой ответ от сервера
Код 520 значит, что origin принял соединение, но не отдал корректный HTTP-ответ. Первым делом стоит проверить лог веб-сервера и посмотреть, не упал ли процесс в момент запроса:
curl -v -H "Host: example.com" http://203.0.113.10/
tail -n 50 /var/log/nginx/error.log
Частая причина — превышение лимита памяти PHP-FPM или Apache, из-за которого worker обрывает соединение посреди ответа. Стоит проверить лимиты в php.ini и логи PHP-FPM за то же время.
Ошибки 521 и 522: origin не отвечает на соединение
521 означает явный отказ — сервер принял TCP-пакет и сразу сбросил соединение. 522 означает, что пакет вообще не дошёл за отведённое время. Проверка начинается с порта:
nc -zv 203.0.113.10 443
systemctl status nginx
Если порт закрыт — стоит проверить правила firewall на сервере и убедиться, что разрешены подключения с диапазонов IP-адресов Cloudflare. Если сервис сам не запущен, ошибка решается перезапуском службы и разбором причины падения в логе systemd.
Ошибка 524: превышено время ожидания
524 возникает, когда origin принял соединение и начал отвечать, но не уложился в таймаут edge-сервера — по умолчанию 100 секунд. Это типично для тяжёлых отчётов, импорта данных или медленных SQL-запросов.
- проверить медленные запросы в логе MySQL через slow query log
- вынести долгую операцию в фоновую задачу вместо ожидания в HTTP-запросе
- добавить индексы для таблиц, участвующих в тяжёлом запросе
- для длительных операций отдавать промежуточный ответ и статус через отдельный endpoint
Ошибки 525 и 526: проблемы SSL-хендшейка с origin
525 означает, что origin не смог завершить SSL-хендшейк с Cloudflare — обычно из-за просроченного, самоподписанного без исключения или невалидного сертификата. 526 — более частный случай, когда сертификат не проходит проверку цепочки при режиме Full Strict.
Правильное решение — не отключать проверку сертификата, а поставить на origin корректный сертификат, например Cloudflare Origin Certificate сроком на 15 лет, и держать режим шифрования Full Strict, как описано в статье про режимы SSL/TLS.
Итог: порядок диагностики ошибок 52x
Все ошибки этой группы указывают на разрыв между edge и origin, поэтому проверка всегда начинается на стороне сервера, а не в панели Cloudflare.
- проверить, что веб-сервер запущен и слушает нужный порт
- посмотреть логи веб-сервера и PHP-FPM на момент ошибки
- проверить правила firewall и доступ с диапазонов IP-адресов Cloudflare
- при 524 — найти и ускорить медленный запрос или операцию
- при 525 и 526 — заменить сертификат на origin и проверить режим SSL, либо спрятать сервер за Cloudflare Tunnel