Ошибка 522 Connection timed out означает, что Cloudflare не смог установить соединение с сервером сайта: отправил запрос на подключение и не получил ответа. Посетитель видит страницу Cloudflare, где его браузер и сеть Cloudflare отмечены как работающие, а сервер сайта — как ошибка.
Мы повторили такое молчание сервера на стенде с nginx, а в обходе 2056 сайтов нашли сайт, который отдаёт 522 прямо сейчас, и проверили, как ошибка выглядит в браузере и в curl.
Что означает ошибка 522
Справка Cloudflare (обновлена 31.07.2026) называет две ситуации, в которых появляется 522:
Before a TCP connection is established, Cloudflare does not receive a SYN+ACK within 19 seconds after sending a SYN.
After the TCP connection is established, Cloudflare does not receive an acknowledgment (ACK) of its resource request within 90 seconds.
Сценарий 1: сервер не ответил на запрос соединения за 19 секунд. За это время Cloudflare повторяет попытку с интервалами 1, 1, 1, 1, 1, 2, 4 и 8 секунд. Сценарий 2: соединение открылось, но сервер за 90 секунд не подтвердил получение запроса. В таблице лимитов Cloudflare оба значения помечены как ненастраиваемые.
Важно, что дело не в скорости страницы. Медленная страница даёт другую ошибку — 524, и её Cloudflare показывает только после 125 секунд ожидания ответа. 522 значит, что до разговора дело вообще не дошло.
Стенд: молчание и отказ
Мы поставили nginx посредником, как Cloudflare, и задали ему те же 19 секунд на соединение. Затем направили его на два сервера:
| Что делает сервер | Ответ посредника | Через сколько | Запись в журнале nginx |
|---|---|---|---|
| Молчит: пакеты уходят в никуда | 504 | 19,01 с | upstream timed out while connecting |
| Отказывает: порт закрыт | 502 | 0,0007 с | Connection refused |
У Cloudflare первый случай превращается в 522, второй — в 521. Поэтому по времени их легко различить: 521 приходит мгновенно, 522 — примерно через 19 секунд.
Так ведёт себя сервер, на котором файрвол отбрасывает пакеты без ответа (правило DROP), сервер выключен в сети с такой политикой или адрес в DNS указывает на машину, которой больше нет. Отказ (REJECT или закрытый порт) даёт 521.
Для сравнения: curl без своего таймаута ждал молчащий адрес 131 секунду — столько Linux по умолчанию пытается установить соединение. Cloudflare сдаётся в семь раз быстрее.
Живой пример: как 522 выглядит у посетителя
В нашем обходе адреса из сетей Cloudflare нашлись у 80 сайтов из 1764 с работающим DNS. Один из них, tetyarut.ru, 18.10.2026 отвечал 522 через 19,5 секунды из Германии и через 20,2 секунды с российского адреса.
Chromium показал страницу Cloudflare на английском, даже с русским языком браузера: «Connection timed out Error code 522», схема из трёх звеньев (You — Browser Working, Frankfurt — Cloudflare Working, tetyarut.ru — Host Error) и номер запроса Cloudflare Ray ID. curl с обычным заголовком Accept получил вместо страницы одну строку «error code: 522» — 16 байт текста.
Любопытная деталь: страница противоречит сама себе. В разделе «What happened?» сказано, что не удалось первичное соединение. А в совете владельцу — что «the request was able to connect to your web server, but the request didn't finish», то есть соединение было. Текст один для обоих сценариев, поэтому по нему причину не определить. Определяет время: 19 секунд — сервер не ответил на подключение.
Частые причины ошибки 522
По справке Cloudflare и нашим замерам:
- Файрвол блокирует адреса Cloudflare. Cloudflare называет это самой частой причиной. Весь трафик сайта приходит с адресов Cloudflare, и защита сервера, fail2ban или ограничение частоты запросов на хостинге могут принять их за атаку.
- Сервер перегружен или выключен. Он не успевает принимать новые соединения и отбрасывает их.
- Неверный адрес в DNS Cloudflare. Сайт переехал на другой сервер или хостинг сменил адрес, а в настройках DNS остался старый.
- Отключён keepalive на сервере.
- Пакеты теряются на пути между Cloudflare и сервером.
Как исправить ошибку 522
Шаг 1. Проверьте сервер в обход Cloudflare
Узнайте настоящий адрес сервера в панели хостинга и запросите сайт напрямую:
curl -sv --resolve example.ru:443:203.0.113.10 https://example.ru/ -o /dev/null
Если и напрямую нет ответа — проблема в сервере. Если отвечает — ищите блокировку адресов Cloudflare.
Шаг 2. Убедитесь, что веб-сервер жив и порты открыты
Проверьте, запущен ли nginx или Apache и слушает ли он порты 80 и 443:
ss -ltn на сервере или nc -vz адрес 443 снаружи. Молчание nc при
известном адресе — признак правила DROP на файрволе.
Шаг 3. Разрешите подсети Cloudflare
Cloudflare публикует свои адреса на cloudflare.com/ips — на 18.10.2026 это 15 диапазонов IPv4 и отдельный список IPv6. Все они должны быть разрешены в iptables, .htaccess, панели хостинга и в защите от атак. Справка Cloudflare советует пример правила:
iptables -I INPUT -p tcp -m multiport --dports http,https -s $ip -j ACCEPT
Если на хостинге стоит автоматическая защита от перебора и атак, попросите поддержку добавить диапазоны Cloudflare в белый список.
Шаг 4. Сверьте адрес в DNS
В разделе DNS панели Cloudflare адрес записи A должен совпадать с адресом сервера, который выдал хостинг. После переезда это первое, что нужно проверить.
Шаг 5. Проверьте нагрузку и лимиты
Посмотрите загрузку процессора, памяти и число соединений в момент ошибки. Ограничения вида «не больше N соединений с одного адреса» для сайта за Cloudflare опасны: все посетители приходят с небольшого набора адресов.
Шаг 6. Соберите данные для хостинга
Если ничего не помогло, Cloudflare советует передать хостингу MTR или traceroute с сервера до адреса Cloudflare, который подключался к нему до сбоя, и номер Ray ID со страницы ошибки.
Как предотвратить ошибку 522
- Мониторинг в обход Cloudflare. Настройте сервис мониторинга, который регулярно проверяет сервер напрямую по его адресу, а не только сайт через прокси. Так вы найдёте сбой раньше, чем посетитель получает ошибку.
- Актуальный список адресов. Cloudflare пишет, что его диапазоны меняются редко, но новые появляются в официальном списке заранее. Сверяйте конфигурации файрвола с этим списком перед обновлениями правил безопасности.
- Запас ресурсов. Если ошибка случается в часы пик, серверу не хватает мощности и он не успевает вовремя принять соединение.
- Проверка после переезда. Сменили хостинг — сразу проверьте запись A и доступ к серверу с адресов Cloudflare.
Диагностика сетевых проблем — задача хостинга: с вашего компьютера маршрут от Cloudflare до сервера не увидеть. Если сервер недоступен только для Cloudflare, а напрямую работает корректно, нужно связаться с поддержкой и передать результаты проверок.
Отключение Cloudflare уберёт 522?
Уберёт саму страницу Cloudflare, но не причину. Если сервер молчит, посетители без Cloudflare увидят ошибку браузера ERR_CONNECTION_TIMED_OUT, и ждать её будут дольше. Если же причина была в блокировке адресов Cloudflare, сайт заработает — но лучше разрешить эти адреса, чем отключать защиту.
Что делать посетителю
Ошибка на стороне сайта, ваш браузер и интернет в порядке. Подождите несколько минут и обновите страницу. Если сайт нужен срочно, попробуйте открыть сохранённую копию в поиске или напишите владельцу через другие каналы.
Чем 522 отличается от 520, 521, 523 и 524
| Код | Что случилось | Когда приходит |
|---|---|---|
| 520 | сервер ответил пустым или непонятным ответом | после ответа сервера |
| 521 | сервер отказал в соединении | мгновенно (на стенде) |
| 522 | сервер не ответил на соединение | через 19 секунд |
| 523 | до сервера невозможно добраться | — |
| 524 | соединение есть, ответа нет | через 125 секунд |
Что 522 значит для поиска
Для поискового робота 522 — ошибка сервера класса 5xx. Короткий сбой обычно не вредит, но если 522 держится долго, страницы могут выпасть из индекса, как и при любой ошибке сервера. Подробнее о поведении роботов при 5xx — в статье об ошибке 504.
Источники
- Cloudflare: Error 522 (обновлено 31.07.2026), Connection limits (23.07.2026), Cloudflare IP addresses (21.04.2026) — developers.cloudflare.com
- Список адресов Cloudflare — cloudflare.com/ips
Похожие ошибки
- Ошибка 524 — Cloudflare подключился, но не дождался ответа.
- Ошибка 520 — сервер вернул Cloudflare непонятный ответ.
- Ошибка 525 — соединение есть, но Cloudflare не договорился с сервером о шифровании.
- ERR_CONNECTION_TIMED_OUT — браузер не дождался соединения с сайтом без посредника.
- ERR_CONNECTION_REFUSED — сервер сразу отказал в соединении.
Границы замера
Стенд — nginx 1.22.1 посредником с таймаутом соединения 19 секунд, Cloudflare на стенде не было: его 521 и 522 мы сопоставили с ответами nginx по справке. Обход 18.10.2026 из Германии и с российского адреса, по одному запросу на главную страницу. Почему сервер tetyarut.ru не отвечает Cloudflare, мы не знаем: его настоящий адрес закрыт.
Коротко
Ошибка 522 — Cloudflare не дождался, пока сервер сайта ответит на подключение: 19 секунд на соединение или 90 секунд на подтверждение запроса. Увеличить это время нельзя. Чаще всего виноват файрвол, который блокирует адреса Cloudflare, перегруженный сервер или старый адрес в DNS. Проверьте сервер напрямую, разрешите все диапазоны Cloudflare и сверьте запись A.
