Ошибка Cloudflare 524: A timeout occurred
Cloudflare соединился с сервером сайта, но тот не успел отправить ответ за отведённое время.
Обновлено · Редакция Prokso
- Ошибка 524 значит, что сервер сайта не успел ответить Cloudflare за отведённое время
- Чаще всего причина в тяжёлом запросе: большой экспорт, поиск без фильтров, длинный отчёт
- Уменьшите объём одного запроса: берите данные частями, страницами, за более короткие периоды
Что означает ошибка
По документации Cloudflare, ошибка 524 означает, что соединение с сервером сайта установлено, но сервер не дал HTTP-ответа за 125 секунд — это стандартный лимит. На тарифе Enterprise владелец сайта может увеличить его до 6000 секунд.
Чаще всего сервер просто не успевает: выполняет тяжёлый запрос к базе данных, строит большой отчёт или выгрузку, либо ему не хватает ресурсов.
Прокси на этот лимит не влияет. Запрос дошёл до Cloudflare и сайта, а время истекло уже на сервере сайта.
Причины
- Тяжёлый запрос. Большой экспорт, поиск без фильтров, отчёт за длинный период.
- Сервер сайта перегружен. Много одновременных запросов, в том числе от вашей программы.
- Долгие фоновые процессы на сервере. Сайт выполняет задачу, которая занимает больше 125 секунд, в рамках одного запроса.
- Сайту не хватает ресурсов. Памяти или процессора недостаточно, чтобы ответить вовремя.
Как исправить
- Уменьшите объём одного запроса: берите данные частями, страницами, за более короткие периоды.
- Уменьшите число параллельных потоков к этому сайту, чтобы не добавлять ему нагрузки.
- Если у сайта есть API с отдельными задачами на выгрузку, пользуйтесь им: для долгих процессов Cloudflare советует опрос статуса, а не один долгий запрос.
- Не увеличивайте тайм-аут в программе сверх необходимого: Cloudflare всё равно прервёт ожидание на своём лимите.
- Если сайт ваш — ищите медленные запросы в журналах сервера; документация Cloudflare описывает и варианты для долгих операций.
Как проверить, что всё заработало
Выполните тот же запрос меньшего объёма. Если он проходит, а полный снова даёт 524 — дело во времени обработки на сервере сайта, а не в подключении. Общую работу прокси проверьте в проверке прокси.
Диагностика за 2 минуты
Сначала вставьте строку в проверку прокси. Если там прокси работает, причина в программе или её настройках. Если нет — проверьте строку из терминала:
curl -v -x "http://ЛОГИН:ПАРОЛЬ@gw.prokso.com:823" https://api.ipify.org
- Строка
< HTTP/1.1 407сразу послеCONNECT— отвечает прокси. Название после кода, напримерNO_USER, подсказывает причину. - Прокси ответил на
CONNECTкодом 200, а дальше пришёл другой код — прокси работает, этот ответ дал сайт. - Никакого ответа, только тайм-аут — соединение не дошло до прокси: проверьте хост, порт и сеть.
Вопросы и ответы
Поможет ли другой прокси или другая страна?
Нет. 524 зависит от того, как долго сервер сайта обрабатывает запрос. Маршрут до Cloudflare на это не влияет.
Чем 524 отличается от 504?
Обе означают, что посредник не дождался ответа. 524 — собственный код Cloudflare с лимитом 125 секунд, 504 — стандартный код любого посредника. См. <a href="/ru/errors/504-gateway-timeout">504 Gateway Timeout</a>.
Списывается ли трафик за запрос, который завершился 524?
Списывается то, что прошло через прокси: ваш запрос и страница ошибки. Ответ, которого не было, не списывается.
Другие ошибки прокси
Резидентские $1.59, мобильные $2.50, серверные $0.65 за 1 ГБ
Регистрация за минуту, доступы сразу после оплаты.