# Помилки Cloudflare 520-525: що означають і як їх виправити

> Помилки Cloudflare 520, 521, 522, 524 і 525 виникають між edge-сервером і origin. Розбір причин кожного коду і порядок діагностики.

## Що означають помилки 52x у Cloudflare

Коди 520-526 — це не помилки самого Cloudflare, а сигнал про те, що edge-сервер не зміг отримати нормальну відповідь від origin-сервера сайту. Різниця між кодами — на якому саме кроці зв'язок обірвався: під час встановлення з'єднання, під час SSL-хендшейка чи вже під час очікування відповіді від застосунку.

Розбирати таку помилку треба з боку origin-сервера, а не з боку Cloudflare: мережа Cloudflare в цей час працює справно, а проблема — у зв'язку з конкретним VDS або в самому веб-сервері на ньому.

## Таблиця кодів: що означає кожен

Коротко про типову причину кожного коду з цієї групи:

| Код | Значення | Типова причина |
| --- | --- | --- |
| 520 | Порожня або некоректна відповідь від origin | Веб-сервер впав або повернув пошкоджені заголовки |
| 521 | Origin відхилив з'єднання | Веб-сервер зупинений або порт закритий firewall |
| 522 | З'єднання не встановлено вчасно | Origin недоступний по мережі або перевантажений |
| 523 | Origin не знайдено в маршрутизації | Невірна IP-адреса в DNS-записі A |
| 524 | Перевищено час очікування відповіді | Застосунок відповідає довше 100 секунд |
| 525 | Помилка SSL-хендшейка з origin | Прострочений або невалідний сертифікат на сервері |

## Помилка 520: порожня відповідь від сервера

Код 520 означає, що origin прийняв з'єднання, але не віддав коректну HTTP-відповідь. Насамперед варто перевірити лог веб-сервера і подивитися, чи не впав процес у момент запиту:

```
curl -v -H "Host: example.com" http://203.0.113.10/
tail -n 50 /var/log/nginx/error.log
```

Часта причина — перевищення ліміту пам'яті PHP-FPM або Apache, через що worker обриває з'єднання посеред відповіді. Варто перевірити ліміти в php.ini і логи PHP-FPM за той самий час.

## Помилки 521 і 522: origin не відповідає на з'єднання

521 означає явну відмову — сервер прийняв TCP-пакет і одразу скинув з'єднання. 522 означає, що пакет взагалі не дійшов за відведений час. Перевірка починається з порту:

```
nc -zv 203.0.113.10 443
systemctl status nginx
```

Якщо порт закритий — варто перевірити правила firewall на сервері і переконатися, що дозволені підключення з діапазонів IP-адрес Cloudflare. Якщо сервіс сам не запущений, помилка вирішується перезапуском служби і розбором причини падіння в логі systemd.

## Помилка 524: перевищено час очікування

524 виникає, коли origin прийняв з'єднання і почав відповідати, але не вклався в таймаут edge-сервера — за замовчуванням 100 секунд. Це типово для важких звітів, імпорту даних або повільних SQL-запитів.

- перевірити повільні запити в лозі MySQL через slow query log
- винести довгу операцію у фонове завдання замість очікування в HTTP-запиті
- додати індекси для таблиць, задіяних у важкому запиті
- для тривалих операцій віддавати проміжну відповідь і статус через окремий endpoint

## Помилки 525 і 526: проблеми SSL-хендшейка з origin

525 означає, що origin не зміг завершити SSL-хендшейк з Cloudflare — зазвичай через прострочений, самопідписаний без винятку або невалідний сертифікат. 526 — більш частковий випадок, коли сертифікат не проходить перевірку ланцюга в режимі Full Strict.

Правильне рішення — не вимикати перевірку сертифіката, а поставити на origin коректний сертифікат, наприклад [Cloudflare Origin Certificate](https://www.zevshost.net/uk/kb/cloudflare-origin-certificate/) строком на 15 років, і тримати режим шифрування Full Strict, як описано в статті про [режими SSL/TLS](https://www.zevshost.net/uk/kb/cloudflare-ssl-tls-modes/).

## Підсумок: порядок діагностики помилок 52x

Усі помилки цієї групи вказують на розрив між edge і origin, тому перевірка завжди починається на боці сервера, а не в панелі Cloudflare.

1. перевірити, що веб-сервер запущений і слухає потрібний порт
2. подивитися логи веб-сервера і PHP-FPM на момент помилки
3. перевірити правила firewall і доступ з діапазонів IP-адрес Cloudflare
4. у разі 524 — знайти і прискорити повільний запит чи операцію
5. у разі 525 і 526 — замінити сертифікат на origin і перевірити режим SSL, або сховати сервер за [Cloudflare Tunnel](https://www.zevshost.net/uk/kb/cloudflare-tunnel/)

---

Джерело: https://www.zevshost.net/uk/kb/cloudflare-oshibki-520-525/
