К основному содержимому

SSL/TLS режимы Cloudflare: Flexible, Full, Full Strict

Cloudflare · 19.04.2026 · 4 мин чтения
Иллюстрация к статье «SSL/TLS режимы Cloudflare: Flexible, Full, Full Strict»

Cloudflare поддерживает четыре режима SSL/TLS. Каждый описывает, как зашифрован трафик между посетителем, Cloudflare и вашим сервером. Неправильный выбор приводит либо к бесконечным редиректам, либо к незашифрованному участку пути между Cloudflare и сервером — а это открытый канал для перехвата паролей и куки сессии, даже если браузер посетителя показывает замок в адресной строке.

Режимы SSL/TLS

РежимБраузер → CFCF → СерверКогда использовать
OffHTTPHTTPНикогда
FlexibleHTTPSHTTPНет SSL на сервере (плохо)
FullHTTPSHTTPS (любой сертификат)Самоподписанный сертификат
Full (Strict)HTTPSHTTPS (валидный сертификат)Рекомендуется

Почему Full (Strict) — правильный выбор

  • Трафик зашифрован на всём пути, а не только от браузера до CDN.
  • Защита от атак «человек посередине» между Cloudflare и сервером — критично, если сервер стоит не в вашем дата-центре.
  • Стандарт безопасности для production: соответствует требованиям PCI DSS и большинства политик безопасности.

Как включить Full (Strict)

Cloudflare Dashboard → SSL/TLS → Overview → Full (strict). На сервере должен быть валидный SSL-сертификат — подойдёт Let's Encrypt или сертификат от Cloudflare.

Учебный макет: SSL/TLS encryption mode. Выделены раздел, поле и следующий шаг.
Учебный макет. Расположение элементов зависит от версии панели. Данные приведены для примера.

Используйте Cloudflare Origin Certificate вместо Let's Encrypt для максимальной надёжности: SSL/TLS → Origin Server → Create Certificate. Такой сертификат действует 15 лет и доверяется только Cloudflare, поэтому напрямую по IP сайт через него не откроется — это дополнительный слой защиты origin-сервера.

Разбор типичных ошибок

Коды 520–526 в ответе Cloudflare почти всегда связаны именно с режимом SSL/TLS; полный список кодов разобран в статье ошибки Cloudflare 520-525.

  • ERR_TOO_MANY_REDIRECTS — сервер настроен редиректить HTTP на HTTPS, а Cloudflare в режиме Flexible подключается к серверу по HTTP: получается бесконечная петля «редирект → HTTP → редирект».
  • ERR_SSL_VERSION_OR_CIPHER_MISMATCH — на origin-сервере отключены современные протоколы TLS 1.2/1.3 или устаревший OpenSSL не поддерживает нужные шифры для рукопожатия с Cloudflare.
  • 521 Web Server Is Down при режиме Full (Strict) — сервер слушает только HTTP на 80 порту, а HTTPS на 443 не отвечает: Cloudflare пытается достучаться по HTTPS и получает отказ соединения.
  • 526 Invalid SSL Certificate — сертификат на сервере просрочен, самоподписанный или выписан не на тот домен, а режим стоит Full (Strict), который требует валидности цепочки.
  • 525 SSL Handshake Failed — Cloudflare не смогла договориться с сервером о протоколе TLS во время рукопожатия; обычно причина в том, что на сервере отключены все протоколы, которые поддерживает Cloudflare, либо порт 443 занят другим сервисом.

Сравнение источников сертификата для origin-сервера

ИсточникСрок действияДоверие вне CloudflareАвтопродление
Let's Encrypt90 днейДа, публичный CAЧерез certbot / cron
Cloudflare Origin CA15 летНет, только для CFНе требуется
СамоподписанныйНа усмотрениеНетВручную

Принудительный HTTPS через Cloudflare

SSL/TLS → Edge Certificates → Always Use HTTPS → On. Cloudflare будет редиректировать HTTP на HTTPS на уровне CDN, ещё до того, как запрос дойдёт до сервера — это снимает нагрузку с origin и исключает риск неправильного редиректа в приложении.

Когда Full (Strict) не подходит

  • Сервер только разворачивается и валидного сертификата ещё нет — временно используйте Full с самоподписанным, но не Flexible, чтобы не гонять трафик открытым текстом.
  • Origin стоит за динамическим IP без DNS-записи, на которую можно выпустить Let's Encrypt — тогда единственный практичный вариант это Cloudflare Origin Certificate, привязанный к IP, а не к домену.
  • Легаси-приложение принудительно проверяет соответствие имени сертификата и не понимает сертификат от нестандартного CA — иногда приходится временно держать Full вместо Strict, пока приложение не обновят.

Как проверить, что режим настроен верно

# Проверяем сертификат, который видит внешний клиент
curl -vI https://example.com/ 2>&1 | grep -E 'SSL|subject|issuer'

# Проверяем, что HTTP редиректит на HTTPS одним прыжком
curl -I http://example.com
# Ожидаем: HTTP/1.1 301, Location: https://example.com/

# Проверяем сертификат сервера напрямую, минуя Cloudflare (через hosts-файл)
curl -vI --resolve example.com:443:SERVER_IP https://example.com/ 2>&1 | grep issuer

Если первая команда показывает сертификат Cloudflare, вторая — один редирект без петли, а третья подтверждает валидный сертификат на самом сервере, режим Full (Strict) настроен корректно.

Никогда не используйте Flexible, если на сервере уже настроен HTTPS. Это создаёт редиректную петлю: Cloudflare подключается по HTTP, сервер редиректит на HTTPS, Cloudflare снова подключается по HTTP — и так до ошибки браузера ERR_TOO_MANY_REDIRECTS.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке