Помилка 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="/errors/504-gateway-timeout">504 Gateway Timeout</a>.
Чи списується трафік за запит, що завершився 524?
Списується те, що пройшло через проксі: ваш запит і сторінка помилки. Відповідь, якої не було, не списується.
Інші помилки проксі
Резидентські $1.59, мобільні $2.50, серверні $0.65 за 1 ГБ
Реєстрація за хвилину, доступи одразу після оплати.