Flexible SSL ошибка в Cloudflare обычно появляется после включения HTTPS, когда сайт начинает открываться с циклическими редиректами, mixed content или вообще перестаёт нормально загружаться. Чаще всего пользователь видит ERR_TOO_MANY_REDIRECTS, предупреждения о небезопасных ресурсах или странное поведение после перехода на HTTPS.
Быстрое решение
- Проверьте, какой режим выбран в Cloudflare → SSL/TLS.
- Если на сервере уже есть SSL-сертификат, переключитесь с Flexible на Full или Full (strict).
- Уберите принудительный редирект HTTP → HTTPS на origin, если временно оставляете Flexible.
- Проверьте Always Use HTTPS и не дублируйте такие же редиректы в .htaccess, Nginx и WordPress.
- Исправьте mixed content: все картинки, скрипты и CSS должны грузиться по HTTPS.
- Очистите кэш Cloudflare, сайта и браузера после изменений.
Что такое Flexible SSL в Cloudflare
Режим Flexible в Cloudflare означает частичную защиту. Посетитель подключается к Cloudflare по HTTPS, но Cloudflare подключается к origin-серверу по обычному HTTP. Поэтому сертификат на origin в этом режиме не обязателен. :contentReference[oaicite:2]{index=2}
На первый взгляд это удобно: можно быстро включить HTTPS без настройки SSL на хостинге. Но именно из-за отсутствия HTTPS между Cloudflare и origin режим Flexible часто создаёт технические и SEO-проблемы, особенно на WordPress-сайтах и при жёстких редиректах.
Почему Flexible SSL часто вызывает ошибки
Главная проблема Flexible в том, что Cloudflare и origin начинают «думать» по-разному. Cloudflare видит внешний HTTPS, а сервер получает внутренний HTTP. Если origin настроен принудительно переводить HTTP в HTTPS, получается замкнутый цикл. Cloudflare сам описывает этот сценарий как типичную причину ERR_TOO_MANY_REDIRECTS. :contentReference[oaicite:3]{index=3}
Кроме redirect loop, появляются и другие проблемы:
- mixed content на страницах;
- неправильные канонические URL;
- ошибки в WordPress после принудительного HTTPS;
- конфликт с плагинами SSL и кэша;
- частично небезопасная загрузка ресурсов. :contentReference[oaicite:4]{index=4}
Основные симптомы Flexible SSL ошибки
- ERR_TOO_MANY_REDIRECTS после включения Cloudflare;
- сайт открывается по HTTPS, но часть ресурсов грузится по HTTP;
- браузер показывает mixed content warnings;
- админка WordPress работает нестабильно;
- сайт то открывается, то уходит в цикл редиректов;
- канонический URL и реальные URL не совпадают.
Когда Flexible SSL можно использовать, а когда лучше не надо
Cloudflare прямо рекомендует, если это возможно, использовать Full или Full (strict), а не Flexible, чтобы защитить соединение с origin и избежать более слабой схемы. :contentReference[oaicite:5]{index=5}
Flexible имеет смысл только как временный компромисс, если на origin ещё нет сертификата. Для нормального рабочего сайта, особенно на WordPress, интернет-магазина, блога или affiliate-проекта, безопаснее и стабильнее переходить на Full или Full (strict).
Как исправить Flexible SSL ошибку: пошаговая инструкция
1. Проверьте текущий SSL/TLS mode
Откройте панель Cloudflare → SSL/TLS и посмотрите, включён ли режим Flexible. Если да, сначала определите, есть ли на origin рабочий SSL-сертификат.
2. Если на сервере уже есть SSL, переключитесь на Full или Full (strict)
Это самый правильный и самый частый фикс. Cloudflare рекомендует по возможности использовать именно Full или Full (strict). Режим Full (strict) дополнительно требует корректный сертификат на origin. :contentReference[oaicite:6]{index=6}
Если у вас уже установлен Let’s Encrypt, Origin CA или другой нормальный сертификат, переход с Flexible на Full обычно сразу убирает redirect loop.
3. Если вы временно оставляете Flexible, уберите HTTPS-редирект на origin
Cloudflare официально указывает: при режиме Flexible redirect loop возникает, если origin автоматически перенаправляет все HTTP-запросы на HTTPS. :contentReference[oaicite:7]{index=7}
Проверьте и временно отключите:
- редиректы в .htaccess;
- редиректы в Nginx;
- форсирование HTTPS в панели хостинга;
- плагины Really Simple SSL и аналоги;
- жёстко прописанные редиректы в functions.php.
4. Проверьте Always Use HTTPS
Cloudflare рекомендует для принудительного HTTPS использовать функцию Always Use HTTPS и отдельно предупреждает, что не стоит дублировать такие же редиректы на origin, потому что это может вызвать redirect loop. :contentReference[oaicite:8]{index=8}
Для диагностики оставьте только один источник принудительного HTTPS: либо Cloudflare, либо origin. На практике удобнее держать это на стороне Cloudflare.
5. Исправьте mixed content
Cloudflare объясняет, что mixed content возникает, когда HTTPS-страница тянет картинки, CSS, JS или другие ресурсы по HTTP. :contentReference[oaicite:9]{index=9}
Проверьте:
- все изображения в контенте;
- CSS и JS из темы;
- старые абсолютные ссылки в базе данных;
- рекламные скрипты и партнёрские виджеты;
- URL в настройках WordPress.
Все ресурсы должны загружаться по HTTPS или по относительным URL.
6. Проверьте WordPress Address и Site Address
В WordPress зайдите в Настройки → Общие и убедитесь, что оба адреса сайта указаны в правильной HTTPS-версии, если вы реально переводите сайт на HTTPS. Иначе WordPress может сам создавать неправильные редиректы или mixed content.
7. Очистите кэш после исправлений
После изменения SSL-режима и редиректов очистите:
- Cloudflare cache;
- кэш плагинов;
- кэш сервера;
- cookies и кэш браузера.
Без этого вы можете продолжать видеть старую ошибку даже после реального исправления.
8. Если сертификата на origin нет — установите его
Самый надёжный путь — поставить сертификат на origin и отказаться от Flexible. Для этого подойдёт публичный сертификат или Cloudflare Origin CA. После этого можно безопасно перейти на Full или Full (strict). :contentReference[oaicite:10]{index=10}
Какой режим лучше вместо Flexible
Если коротко:
- Flexible — временный компромисс;
- Full — нормальный рабочий вариант, если HTTPS на origin уже есть;
- Full (strict) — лучший вариант, если сертификат origin валиден и настроен правильно. :contentReference[oaicite:11]{index=11}
Для SEO-сайта, WordPress-блога и affiliate-проекта правильнее уходить именно в Full (strict), когда это возможно.
Advanced troubleshooting
- Проверьте цепочку редиректов в DevTools браузера.
- Сравните работу сайта в режиме proxy и DNS only.
- Проверьте заголовок
X-Forwarded-Proto, если используете reverse proxy. - Убедитесь, что плагины кэша не переписывают схему URL.
- Проверьте канонические URL и Open Graph URL на страницах.
- Проверьте, не остались ли старые HTTP-ссылки в базе данных WordPress.
- Если после перехода на Full появился SSL-сбой, проверьте сертификат origin.
Как избежать Flexible SSL ошибок в будущем
- не используйте Flexible как постоянное решение для рабочего сайта;
- настройте SSL-сертификат на origin заранее;
- используйте только одну схему принудительного HTTPS;
- не смешивайте Cloudflare-редиректы и дублирующие редиректы на сервере;
- после миграции сайта проверяйте HTTP, HTTPS, www и non-www отдельно;
- сканируйте сайт на mixed content после любых SSL-изменений.
Когда обращаться в поддержку
- если вы уже переключились на Full, но сайт всё равно не работает;
- если redirect loop остался после удаления origin-редиректов;
- если у вас нет доступа к настройкам Nginx, Apache или панели хостинга;
- если SSL на origin установлен, но Cloudflare продолжает выдавать ошибки.
FAQ
Почему Flexible SSL вызывает ERR_TOO_MANY_REDIRECTS?
Потому что Cloudflare идёт к origin по HTTP, а origin может отправлять этот HTTP обратно на HTTPS. Cloudflare прямо описывает это как типичный redirect loop для режима Flexible. :contentReference[oaicite:12]{index=12}
Нужен ли сертификат на origin для Flexible?
Нет, для Flexible сертификат на origin не обязателен, потому что соединение между Cloudflare и origin идёт по HTTP. :contentReference[oaicite:13]{index=13}
Какой режим лучше: Flexible или Full?
Если на origin можно поставить сертификат, лучше использовать Full или Full (strict). Cloudflare рекомендует именно эти режимы, когда это возможно. :contentReference[oaicite:14]{index=14}
Может ли Flexible вызывать mixed content?
Да. Особенно если сайт и его ресурсы всё ещё используют HTTP-ссылки внутри HTML, CSS, JS или базы данных. Mixed content — это загрузка HTTP-ресурсов на HTTPS-странице. :contentReference[oaicite:15]{index=15}
Что лучше для принудительного HTTPS: Cloudflare или origin?
Cloudflare рекомендует не дублировать HTTPS-редиректы на origin, потому что это может вызвать loop. На практике проще держать одну понятную схему редиректа через Cloudflare. :contentReference[oaicite:16]{index=16}
Вывод
Flexible SSL ошибка почти всегда связана с тем, что HTTPS работает только между посетителем и Cloudflare, а origin продолжает жить по HTTP. Из-за этого появляются redirect loop, mixed content и конфликты с WordPress или серверными редиректами. :contentReference[oaicite:17]{index=17}
Самое надёжное решение — уйти с Flexible на Full или Full (strict), поставить нормальный сертификат на origin и оставить только одну схему принудительного HTTPS. Обычно после этого сайт начинает работать стабильно и без циклических редиректов.
