Что означает ошибку 523
Ошибка 523 Cloudflare (также известная как 523 Origin Error) возникает, когда Cloudflare устанавливает TCP-соединение с вашим origin-сервером, но не получает HTTP-ответ в течение 100 секунд.
Ошибка отображается как:
Error 523: Origin Error
Проблема всегда находится на стороне вашего сервера, а не в сети Cloudflare. Cloudflare ждёт ответа (например, заголовков) от вашего веб-сервера, но таймаут истекает.

Интерфейс панели Cloudflare: раздел Speed → Optimization с настройками Rocket Loader и Origin Error Page Threshold
Причины возникновения
- Падение или зависание веб-сервера. Сервис Nginx или Apache упал или не обрабатывает запросы из-за нехватки ресурсов (CPU, RAM).
- Длительное выполнение скрипта. PHP-скрипт или другое приложение выполняет долгую операцию (обработка файла, сложный запрос к БД) и превышает лимиты времени.
- Блокировка IP Cloudflare. Фаервол (
iptables,csf) или модули безопасности (fail2ban,ModSecurity) ошибочно заблокировали IP-адреса Cloudflare. Сервер не может отправить ответ. - Неправильная конфигурация прокси. В настройках виртуального хоста не указаны корректные таймауты для
proxy_passили FastCGI/PHP-FPM. - Проблемы с сетевым интерфейсом. Сервер перегружен сетевыми подключениями, и ядро не обрабатывает пакеты от Cloudflare в срок.
- Ошибка в приложении. Критическая ошибка в коде (например, бесконечный цикл) не позволяет приложению отправить ответ.

Фрагменты конфигурационных файлов Nginx и Apache с параметрами таймаутов proxy_read_timeout и Timeout
Способы решения
Способ 1: Диагностика прямого доступа к серверу
Сначала исключите проблемы сети Cloudflare.
- Узнайте IP-адрес origin-сервера (в панели хостинга или через
ip a). - Подключитесь к серверу напрямую, обойдя Cloudflare:
- Временно измените DNS-записи в Cloudflare на DNS only (серые облака).
- Или добавьте запись в файл
hostsна вашем компьютере, указав домен и IP сервера.
- Проверьте доступность:
curl -I http://ваш-домен.ru - Результат:
- Сайт загружается — проблема в настройках Cloudflare или его взаимодействии с сервером.
- Сайт не загружается — проблема на уровне сервера (веб-сервер/приложение).
Способ 2: Настройка параметров Cloudflare
Если прямой доступ работает, настройте Cloudflare.
- Отключите Rocket Loader в панели Cloudflare → Speed → Optimization.
- Временно отключите Argo Smart Routing, если он включён.
- Увеличьте таймауты:
- Перейдите в Speed → Optimization.
- Найдите "Origin Error Page Threshold" и увеличьте значение (например, до 300 секунд). Это снизит частоту показа страницы ошибки.
- Не изменяйте основной таймаут Cloudflare — он фиксирован (100 секунд).
- Проверьте, не включён ли Development Mode. Он отключает кэширование, но не влияет на таймауты.
Способ 3: Анализ логов сервера и приложения
Самая частая причина — ошибки в логах. Подключитесь к серверу по SSH.
- Проверьте логи веб-сервера на наличие таймаутов.
- Nginx:
/var/log/nginx/error.log
Ищите:sudo tail -f /var/log/nginx/error.log | grep -E "timeout|upstream"upstream timed out (110: Connection timed out).- Apache:
/var/log/apache2/error.log
sudo tail -f /var/log/apache2/error.log | grep -i timeout - Nginx:
- Проверьте логи PHP-FPM (если используется PHP):
Ищите:sudo tail -f /var/log/php-fpm/error.log # или для php-fpm 7.4 sudo tail -f /var/log/php7.4-fpm.logMaximum execution time,Allowed memory size. - Проверьте логи приложения (Laravel:
storage/logs/laravel.log, WordPress: через плагины или системные логи).
Способ 4: Настройка таймаутов в веб-сервере
Увеличьте таймауты после выявления проблемы (например, долгие запросы к БД).
Для Nginx
location / {
proxy_pass http://your_backend;
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 300s; # Увеличьте до 300 секунд
proxy_buffering off;
}
Или для PHP-FPM:
fastcgi_read_timeout 300s;
fastcgi_send_timeout 300s;
Проверьте конфигурацию (sudo nginx -t) и перезагрузите Nginx (sudo systemctl reload nginx).
Для Apache
Timeout 300
ProxyTimeout 300 # Если используется mod_proxy
Способ 5: Проверка фаервола и безопасности
Cloudflare использует диапазоны IP. Если фаервол их блокирует, соединение оборвётся.
- Получите актуальный список IP Cloudflare: https://www.cloudflare.com/ips/
- Добавьте правила в фаервол. Пример для
iptables:sudo iptables -I INPUT -p tcp -s 173.245.48.0/20 --dport 80 -j ACCEPT sudo iptables -I INPUT -p tcp -s 173.245.48.0/20 --dport 443 -j ACCEPT # Повторите для всех подсетей из списка Cloudflare - Проверьте
fail2ban: Убедитесь, что Cloudflare не попадает в бан. Проверьте jail-конфигурацию для веб-сервера. - Проверьте ModSecurity: Временно отключите для диагностики:
SecRuleEngine Off
Профилактика
- Мониторинг. Настройте внешний мониторинг (UptimeRobot) и оповещения о падении сервера.
- Оптимизация приложения. Профилируйте медленные запросы к БД (slow_query_log), кэшируйте тяжелые операции (Redis, Memcached).
- Корректные лимиты PHP. В
php.ini:max_execution_time = 60 max_input_time = 60 memory_limit = 256M request_terminate_timeout = 120 - Регулярное обновление. Следите за обновлениями веб-сервера, PHP и фреймворков.
- Нагрузочное тестирование. Проводите тесты (
ab,wrk) после изменений, чтобы убедиться в стабильности. - Настройки Cloudflare. Используйте "Cache Level: Standard" для динамических сайтов. Включите "Brotli" для сжатия.

Схема потока запроса от пользователя через Cloudflare к origin-серверу с точкой таймаута ошибки 523 :::