Чаще всего проблема находится не в самом Cloudflare, а на стороне хостинга, веб-сервера, firewall, PHP, SSL или перегруженного origin. Ниже — пошагово разберём, почему появляется ошибка 520 и как её исправить.
Quick Fix
- Проверьте, работает ли origin server без Cloudflare.
- Временно отключите proxy в Cloudflare и включите режим DNS only.
- Перезапустите Apache, Nginx, PHP-FPM или LiteSpeed.
- Проверьте error logs на сервере.
- Убедитесь, что сервер не блокирует IP-адреса Cloudflare.
- Проверьте SSL/TLS-настройки между Cloudflare и origin.
- Отключите слишком агрессивные правила firewall, ModSecurity или WAF.
- Проверьте, не падает ли сайт из-за плагина, темы или .htaccess.
Что значит 520 Unknown Error
Ошибка 520 Unknown Error появляется, когда Cloudflare устанавливает соединение с origin server, но получает пустой, повреждённый или неожиданный ответ. Это не то же самое, что 521, 522 или 524.
При 520 сервер формально отвечает, но его ответ не соответствует нормальному HTTP-формату, либо соединение обрывается слишком рано.
Как выглядит ошибка 520 Cloudflare
Обычно пользователь видит страницу Cloudflare с текстом Web server returned an unknown error или Error 520. На экране могут также отображаться:
- Browser Working
- Cloudflare Working
- Host Error
Это важная подсказка: проблема обычно находится на стороне origin server, а не у посетителя сайта.
Основные причины 520 Unknown Error
1. Сервер возвращает пустой или некорректный ответ
Это самая типичная причина. Веб-сервер или приложение могут оборвать соединение до отправки корректных HTTP-заголовков. Для Cloudflare такой ответ выглядит как неизвестная ошибка.
2. Firewall или WAF блокирует Cloudflare
Если сервер, хостинг, ModSecurity, Imunify, Fail2Ban или другой firewall блокирует часть IP Cloudflare, запросы начинают ломаться. В результате пользователи видят 520, хотя сам сайт может открываться напрямую по IP или без proxy.
3. Ошибки в PHP, WordPress, плагинах или теме
Fatal error в PHP, конфликт плагинов, ошибка темы или сломанный WordPress-хук могут приводить к тому, что сервер не формирует нормальный ответ. Особенно часто это случается после обновлений, миграции или установки тяжёлого плагина.
4. Неправильные headers или слишком большой response header
Иногда origin server отправляет повреждённые заголовки, дубли, пустые заголовки или слишком большой объём header data. Cloudflare может не обработать такой ответ и показать 520.
5. Проблемы с SSL/TLS между Cloudflare и сервером
Если сертификат на origin настроен неправильно, SSL-режим в Cloudflare выбран неверно, либо TLS-handshake проходит с ошибкой, соединение может завершаться нестабильно. Это иногда даёт именно 520, а не более очевидную SSL-ошибку.
6. Перегрузка origin server
Когда серверу не хватает RAM, CPU или свободных процессов PHP-FPM, он может отвечать нестабильно. Cloudflare в таком случае получает неполный ответ или неожиданный обрыв соединения.
7. Ошибки в .htaccess или конфигурации Nginx/Apache
Неправильные rewrite rules, редирект-циклы, запрет на user-agent, странные security-правила или сломанная конфигурация виртуального хоста тоже могут приводить к 520.
8. Сервер блокирует user-agent Cloudflare или HTTP/2
Иногда origin server или защитный модуль неправильно обрабатывает запросы Cloudflare. В редких случаях проблема связана с HTTP/2, нестандартными заголовками или overly strict security rules.
520 Unknown Error — как исправить пошагово
1. Проверьте, открывается ли сайт без Cloudflare
Самый важный тест — временно отключить proxy для проблемной записи в Cloudflare и перевести её в DNS only. Если сайт после этого открывается, значит проблема почти точно между Cloudflare и origin server.
Если сайт не открывается даже без proxy, источник сбоя уже на стороне сервера, WordPress или хостинга.
2. Проверьте логи сервера
Откройте error_log, логи Apache, Nginx, PHP-FPM, LiteSpeed и панель хостинга. Ищите:
- PHP Fatal error
- segmentation fault
- upstream prematurely closed connection
- memory exhausted
- mod_security blocking
- 502/503 на backend
Это самый быстрый способ понять, почему origin отдаёт неправильный ответ.
3. Разрешите IP-адреса Cloudflare
Если на сервере стоит firewall или WAF, убедитесь, что IP Cloudflare не блокируются. На практике это одна из самых частых причин 520 на WordPress, cPanel и VPS.
Нужно проверить firewall на уровне сервера, хостинга, панели, ModSecurity и даже плагинов безопасности в WordPress.
4. Перезапустите веб-сервер и PHP
Перезапуск Apache, Nginx, PHP-FPM или LiteSpeed часто помогает, если проблема связана с зависшими процессами, нехваткой worker-ов или утечкой памяти.
5. Временно отключите плагины и тему WordPress
Если сайт на WordPress, отключите недавно установленные плагины, кэш-плагины, security-плагины и тяжёлые модули оптимизации. Также стоит временно переключиться на стандартную тему.
Если после этого ошибка 520 исчезла, проблема была в коде приложения, а не в Cloudflare.
6. Проверьте SSL/TLS режим в Cloudflare
Сравните настройки Cloudflare и origin server. Частая ошибка — включить Full (strict) без корректного сертификата на сервере, либо оставить Flexible там, где сервер ожидает полноценный HTTPS.
Если SSL настроен криво, соединение между Cloudflare и origin может ломаться нестабильно.
7. Проверьте response headers
Если сервер, приложение или плагин отправляет нестандартные или слишком большие headers, Cloudflare может не принять ответ. Это бывает после установки security-плагинов, custom rules или нестандартных backend-решений.
8. Отключите ModSecurity или слишком жёсткие security rules
На shared hosting и VPS ModSecurity часто ломает нормальные ответы сервера. Для проверки можно временно отключить ModSecurity или перевести его в log-only режим, а затем протестировать сайт снова.
9. Проверьте ресурсы сервера
Посмотрите, хватает ли памяти, CPU, inode, PHP workers и лимитов хостинга. Если сервер уходит в перегрузку, часть запросов может завершаться нестабильно, а Cloudflare покажет 520.
10. Проверьте .htaccess и правила редиректов
Сломанный .htaccess, бесконечный redirect loop или конфликт между WordPress, Cloudflare и серверными rewrite rules тоже могут вызывать ошибку 520. Для проверки можно временно переименовать .htaccess и протестировать сайт.
Как исправить 520 Unknown Error в WordPress
- Отключить proxy в Cloudflare и проверить сайт напрямую.
- Отключить все плагины через FTP или файловый менеджер.
- Включить стандартную тему WordPress.
- Проверить debug.log и error_log.
- Проверить .htaccess.
- Отключить security plugins и cache plugins.
- Проверить лимит памяти PHP.
- Убедиться, что сервер не блокирует Cloudflare.
На WordPress ошибка 520 очень часто связана именно с плагинами, firewall или повреждённой серверной конфигурацией.
Чем 520 отличается от других ошибок Cloudflare
- 520: сервер дал неожиданный или пустой ответ.
- 521: origin server отказал в соединении.
- 522: Cloudflare не дождался соединения или ответа вовремя.
- 523: origin недоступен по маршруту или DNS/IP настроен неверно.
- 524: сервер подключился, но отвечал слишком долго.
Ошибка 520 наиболее “размытая”, потому что она часто возникает на стыке нескольких проблем сразу.
Если 520 появляется только иногда
Плавающая ошибка обычно указывает на перегрузку сервера, нестабильный PHP-FPM, firewall rate limit, ресурсные лимиты хостинга или конфликтующие правила безопасности. Если 520 появляется только под нагрузкой, нужно смотреть ресурсы сервера и логи в момент сбоя.
Что проверить владельцу сайта в первую очередь
- Работает ли сайт напрямую без Cloudflare.
- Есть ли ошибки в server logs.
- Не блокируются ли IP Cloudflare.
- Корректен ли SSL между Cloudflare и origin.
- Нет ли ошибок в WordPress, .htaccess или PHP.
- Не упирается ли сервер в лимиты RAM, CPU или processes.
Как не допустить 520 Unknown Error в будущем
- Добавьте IP Cloudflare в allowlist.
- Следите за server logs после обновлений.
- Не используйте слишком агрессивные firewall rules без тестов.
- Держите WordPress, плагины и PHP в актуальном состоянии.
- Проверяйте SSL и режим Cloudflare после миграции.
- Мониторьте нагрузку на сервер и PHP-FPM.
- Тестируйте сайт без proxy после крупных изменений.
FAQ
Что означает 520 Unknown Error в Cloudflare?
Это значит, что Cloudflare подключился к origin server, но получил неожиданный, пустой или некорректный ответ вместо нормального HTTP-ответа.
520 — это проблема Cloudflare или сервера?
Чаще всего это проблема origin server, хостинга, firewall, SSL, WordPress или backend-приложения, а не самого Cloudflare.
Почему сайт без Cloudflare работает, а с Cloudflare выдаёт 520?
Обычно потому, что сервер блокирует IP Cloudflare, неправильно обрабатывает их запросы, ломает headers или конфликтует с SSL и firewall-правилами.
Может ли WordPress вызывать 520 Unknown Error?
Да. Конфликтующий плагин, ошибка темы, PHP fatal error, .htaccess или security plugin очень часто становятся причиной 520.
Что делать в первую очередь при ошибке 520?
Сначала отключить proxy в Cloudflare, проверить сайт напрямую и сразу посмотреть server logs. Это быстрее всего показывает, где именно источник сбоя.
