Что скрывается за 520
Ошибка 520 формируется не самим сайтом, а сетью Cloudflare, которая стоит между вами и сервером сайта. Она означает, что до источника, то есть исходного сервера, запрос дошёл, но ответ вернулся такой, который сеть не смогла разобрать или вовсе не получила: пустой, оборванный, с нарушенными заголовками или с нетипичным закрытием соединения.
Это своего рода общий контейнер для неопознанных проблем. Если бы сервер был выключен или медленно отвечал, вы увидели бы более точные коды из соседних рядов: 521, 522, 523 или 524. Поэтому 520 говорит лишь одно: связь есть, но ответ странный.
Причины по убыванию вероятности: Cloudflare 520
Чаще всего виновато приложение на исходном сервере: оно аварийно завершается при обработке запроса и не успевает отправить ответ. Вторая по частоте причина — слишком большие заголовки или значительное число файлов cookie, которые превышают допустимый размер. Третья — правила межсетевого экрана или защиты на сервере, которые рвут соединение с адресами сети Cloudflare, принимая их за подозрительные.
Дальше идут нехватка памяти и перезапуски служб, некорректные настройки веб-сервера, ответ без положенных заголовков, а также кратковременные сбои во время обновлений. Реже причина в самой сети Cloudflare.
Что проверить посетителю
Обновите страницу через минуту-другую: временные сбои источника часто проходят сами. Откройте сайт в приватном окне или очистите файлы cookie для этого сайта, потому что раздутые куки способны вызвать 520. Попробуйте другой браузер и другое устройство, а также другую сеть, например мобильную.
Если на других устройствах ошибка тоже есть, проблема на стороне сайта, и вы ничего не сделаете. Сообщите владельцу сайта о времени сбоя и о действиях, которые выполняли. Страница ошибки обычно содержит идентификатор запроса, его полезно приложить.
Что проверить владельцу сайта
Посмотрите журналы веб-сервера и приложения за время сбоя: там обычно видны аварийные завершения, тайм-ауты, ошибки в обработке запроса. Проверьте размер заголовков и число файлов cookie, а также убедитесь, что сервер не закрывает соединения преждевременно.
Убедитесь, что межсетевой экран и защитные службы не блокируют диапазоны адресов сети доставки. Отключите на время подозрительные модули и сравните поведение. Если ошибка проявляется только на некоторых адресах, ищите разницу в их обработчиках. Проверьте доступное место на диске, память и нагрузку процессора.
Особенности заголовков и файлов cookie
Отдельного внимания заслуживает размер служебных данных. Веб-серверы принимают заголовки ограниченного объёма, и если сайт накопил множество файлов cookie, суммарный размер заголовка может превысить предел. Тогда сервер обрывает соединение, а сеть доставки не получает разумного ответа и показывает 520. Особенно часто это бывает на сайтах, где разные разделы и рекламные модули ставят десятки меток.
Посетитель может проверить это, удалив файлы cookie только для этого сайта: если после очистки страница открылась, причина найдена. Владельцу стоит сократить число и размер cookie, не хранить в них крупные данные и не передавать лишнее на статические ресурсы, вынеся их на отдельный домен без куки. Также следите за размером заголовков, которые добавляет само приложение: длинные значения в ответе иногда тоже вызывают сбой при обработке между сервером и сетью доставки.
Порядок диагностики: Cloudflare 520
Полезный приём — обратиться к исходному серверу напрямую, минуя сеть доставки, например по его собственному адресу или через временную запись в локальном файле имён. Если и там странный ответ, проблема точно в вашем сервере. Если напрямую всё хорошо, изучайте правила защиты и настройки соединения между сетью и источником.
Служба поддержки Cloudflare может помочь, если вы приложите идентификатор запроса, время и адрес сайта.
Если сайт работает на популярной системе управления, проверьте недавно установленные плагины и обновления: одна расширяющая надстройка способна вызывать аварийное завершение процесса и, как следствие, пустые ответы. Временно отключите последние изменения и проверьте, исчезла ли ошибка. Так вы отделите проблему конфигурации сервера от проблемы конкретного кода.