Тонкая настройка Cloudflare: как ускорить сайт для зарубежной аудитории

Ускорение сайта Хостинги

Большинство вебмастеров ограничиваются включением «оранжевого облака» (Proxying) в DNS-панели Cloudflare, рассчитывая на автоматическое ускорение сайта по всему миру. Однако в стандартном режиме Cloudflare кэширует только статические файлы (изображения, CSS, JS), оставляя генерацию динамического HTML на стороне исходного сервера (Origin).

Если бэкенд расположен в Европе, а посетитель заходит из США или Азии, задержка отклика до первого байта (TTFB) остается высокой (600–1200 мс). Полноценная оптимизация требует выноса HTML-кэша на Edge-узлы, настройки сквозного шифрования, активации современных протоколов и изоляции реального IP-адреса сервера от прямого мусорного трафика.

Миф об «Оранжевом облаке»: почему базовый прокси не ускоряет HTML

По умолчанию сеть Cloudflare работает как классический обратный прокси. Запросы к статическим ресурсам отдаются с ближайшей к пользователю Edge-ноды, но любой запрос к корневой странице, рубрикам или статьям транслируется напрямую на целевой сервер.

Сервер бэкенда продолжает расходовать процессорное время и оперативную память на компиляцию PHP и запросы к СУБД для каждого иностранного посетителя, а физическая задержка трансатлантического маршрута нивелирует преимущества CDN.

О влиянии физического расстояния между континентами и сетевых задержек оптоволокна на мобильный трафик читайте в материале «Хостинг в США vs Европа: почему выбор локации для Tier-1 изменился».

Криптографический фундамент: устранение уязвимости Flexible SSL

Использование режима Flexible SSL в панели Cloudflare — критическая ошибка в архитектуре безопасности. В этом режиме шифруется только участок пути между браузером пользователя и Cloudflare, а трафик между серверами CDN и вашим хостингом передается открытым текстом по незащищенному протоколу HTTP (порт 80).

Настройка режима Full (Strict) через Origin CA:

  1. Перейдите в раздел SSL/TLS ➔ Origin Server в панели Cloudflare и нажмите Create Certificate.

  2. Сгенерируйте бесплатный сертификат Cloudflare Origin CA со сроком действия до 15 лет.

  3. Сохраните приватный ключ (origin.key) и сертификат (origin.crt) на сервере в директории /etc/ssl/certs/.

  4. Подключите сертификат в блоке виртуального хоста Nginx:

server {
    listen 443 ssl http2;
    server_name domain.com www.domain.com;

    ssl_certificate /etc/ssl/certs/origin.crt;
    ssl_certificate_key /etc/ssl/certs/origin.key;
    ssl_protocols TLSv1.2 TLSv1.3;

    # ... остальная конфигурация
}

В панели Cloudflare переключите режим шифрования в положение Full (Strict). Теперь Cloudflare будет проверять подлинность сертификата вашего сервера при каждом обращении.

Edge-кэширование HTML: настройка современных Cache Rules

Вместо устаревших Page Rules для тонкой настройки используется механизм Cache Rules. Он позволяет кэшировать сгенерированный HTML на тысячах пограничных серверов Cloudflare (Edge Caching), отдавая страницы пользователям с задержкой менее 30–50 мс.

Пошаговая настройка правила кэширования всего сайта:

  1. Перейдите в Caching ➔ Cache Rules и нажмите Create Rule.

  2. Задайте имя правила: Cache HTML with Cookie Bypass.

  3. В блоке условий (When incoming requests match) укажите:

    • Hostname equals domain.com AND

    • Cookie does not contain "wordpress_logged_in_" AND

    • Cookie does not contain "comment_author_" AND

    • URI Path does not start with "/wp-admin/" AND

    • URI Path does not start with "/wp-login.php"

  4. В блоке параметров (Then) настройте:

    • Cache eligibility: Eligible for cache (Cache Everything)

    • Edge TTL: Override origin ➔ 7 days (или 30 days)

    • Browser TTL: Respect origin или 4 hours

Неавторизованные пользователи получают статический HTML напрямую из оперативной памяти ближайшего Edge-сервера. Как только пользователь или администратор авторизуется, наличие куки wordpress_logged_in_ направляет запросы в обход кэша напрямую к бэкенду.

Матрица глобальных параметров кэширования

Опция Рекомендуемое состояние Назначение
Tiered Cache (Smart Routing) Enabled Включает иерархический кэш: запросы с региональных Edge-нод обращаются к центральным дата-центрам Cloudflare, снижая нагрузку на бэкенд на 80–90%.
Always Online (Serve Stale) Enabled При перезагрузке или сбое исходного сервера Cloudflare продолжает отдавать сохраненную кэшированную копию страниц.
Query String Sorting Enabled Нормализует порядок GET-параметров в URL, повышая процент попадания в кэш (Cache Hit Ratio).

Для исключения просадок скорости при первом формировании страниц (Cache MISS) внутренние службы бэкенда должны быть предварительно оптимизированы. О настройке локального кэша читайте в статье «Серверное кэширование: как разделить слои HTTP и данных (FastCGI, Redis, Opcache)».

Сетевые протоколы: выжимаем максимум из HTTP/3 и Early Hints

В разделе Speed ➔ Optimization активируйте современные протоколы доставки контента:

  • HTTP/3 (QUIC): протокол работает поверх UDP, устраняя блокировку очереди пакетов (Head-of-Line Blocking) при потерях данных в мобильных сетях.

  • 0-RTT Connection Resumption: позволяет клиентам, ранее посещавшим сайт, отправлять первый полезный HTTP-запрос одновременно с пакетом рукопожатия TLS.

  • 103 Early Hints: сервер Cloudflare отправляет браузеру предварительные заголовки со ссылками на критические стили и шрифты (Link: </style.css>; rel=preload) еще до завершения сборки основного тела страницы бэкендом.

Защита Origin IP: блокировка прямых запросов к серверу

Если реальный IP-адрес сервера станет известен, атакующие смогут направить поток трафика напрямую на сетевой интерфейс хостинга в обход WAF и правил Cloudflare.

Способы изоляции бэкенда:

  • Фильтрация на уровне фаервола (UFW):

    Разрешите входящие соединения на веб-порты 80 и 443 исключительно из официальных IPv4- и IPv6-диапазонов Cloudflare ([https://www.cloudflare.com/ips/](https://www.cloudflare.com/ips/)), заблокировав все остальные IP-адреса.

  • Authenticated Origin Pulls (mTLS):

    Активируйте в панели Cloudflare режим Authenticated Origin Pulls и подключите публичный CA-сертификат Cloudflare в Nginx:

ssl_client_certificate /etc/ssl/certs/cloudflare_origin_pull.crt;
ssl_verify_client on;

Nginx будет сбрасывать любые входящие HTTP-запросы, если клиент не предоставил валидный TLS-сертификат Cloudflare.

Автоматизировать настройку правил сетевого экрана UFW и выгрузку белых списков IP-адресов на пуле серверов позволяет готовый Ansible-плейбук для массового развертывания.

Сценарии применения: арбитраж, E-commerce и PBN

Чек-лист: аудит конфигурации Cloudflare перед запуском

  • Установлен сертификат Cloudflare Origin CA и включен режим SSL/TLS: Full (Strict).

  • Создано Cache Rule для кэширования всего HTML с исключением куки авторизации (wordpress_logged_in_).

  • Включен функционал Tiered Cache и режим отказоустойчивости Always Online.

  • Активированы протоколы HTTP/3 (QUIC), 0-RTT и механизм 103 Early Hints.

  • Включено сжатие алгоритмом Brotli.

  • На сервере бэкенда закрыты порты 80/443 для всех внешних адресов, кроме официальных подсетей Cloudflare.

Что делать дальше: следующие шаги

Оцените статью
autoparse.tech
Добавить комментарий