sadrix logoSadriX
Гайды

Cloudflare Flexible vs Full SSL: что выбрать и как не сломать сайт

Подробное руководство по выбору режима шифрования между посетителем, Cloudflare и вашим сервером.

010 310 просмотров5 мин
0
Поделиться:TelegramVK

Введение

Cloudflare предлагает несколько режимов SSL/TLS, которые определяют, как шифруется трафик между браузером посетителя, сетью Cloudflare и вашим исходным сервером. Неправильный выбор режима может привести к ошибкам 525, 526 или, что хуже, к уязвимости, когда соединение между Cloudflare и сервером остаётся незашифрованным. В этом руководстве мы разберём разницу между Flexible, Full и Full (Strict), поможем выбрать подходящий вариант и покажем, как настроить SSL без простоев.

Что такое режимы SSL/TLS в Cloudflare

Cloudflare работает как обратный прокси: он принимает запросы от посетителей и перенаправляет их на ваш сервер. При этом устанавливаются два отдельных SSL-соединения:

1. Посетитель ↔ Cloudflare — всегда шифруется, если включён оранжевый значок облака и активен SSL-сертификат Cloudflare (Universal SSL). 2. Cloudflare ↔ Ваш сервер — шифрование зависит от выбранного режима SSL/TLS.

Именно второй участок вызывает больше всего вопросов. Режимы Flexible, Full и Full (Strict) определяют, будет ли Cloudflare проверять сертификат на вашем сервере и требовать ли шифрования.

Требования для настройки

Прежде чем менять режим, убедитесь, что у вас есть:

  • Аккаунт Cloudflare с добавленным доменом.

  • Доступ к панели управления хостингом или сервером для установки SSL-сертификата.

  • Понимание, какой веб-сервер используется (Apache, Nginx, IIS и т.д.).

  • Возможность временно отключить перенаправление HTTP→HTTPS, если оно настроено на сервере.

Шаг 1: Определите текущий режим SSL

Зайдите в панель Cloudflare, выберите домен и перейдите в раздел SSL/TLS → Обзор. Текущий режим отображается в виде плиток: Off, Flexible, Full, Full (Strict). Запомните или запишите его — это поможет вернуться к исходному состоянию при необходимости.

Шаг 2: Проверьте наличие SSL-сертификата на сервере

Если вы планируете использовать Full или Full (Strict), на вашем сервере должен быть установлен действующий SSL-сертификат. Проверить это можно так:

1. Откройте сайт по IP-адресу сервера или через временный домен. 2. Используйте онлайн-инструмент проверки SSL (например, SSL Labs) или команду openssl s_client -connect ваш_домен:443. 3. Убедитесь, что сертификат не просрочен и выдан для вашего домена.

Если сертификата нет, установите бесплатный Let's Encrypt через панель хостинга или вручную с помощью Certbot.

Шаг 3: Выберите режим Flexible

Когда использовать: только как временное решение, если на сервере нет SSL и вы не можете его установить прямо сейчас.

Как работает: Cloudflare шифрует трафик от посетителя до своих серверов, а затем передаёт данные на ваш сервер по обычному HTTP (порт 80).

Риски: трафик между Cloudflare и сервером не шифруется. Это делает сайт уязвимым для перехвата данных, а также может вызвать бесконечный цикл перенаправлений, если на сервере настроен редирект на HTTPS.

Настройка: 1. В панели Cloudflare перейдите в SSL/TLS → Обзор. 2. Выберите Flexible. 3. Убедитесь, что на сервере нет принудительного перенаправления на HTTPS.

Шаг 4: Выберите режим Full

Когда использовать: если на сервере есть самоподписанный сертификат или сертификат от Let's Encrypt, но вы не хотите, чтобы Cloudflare проверял его подлинность.

Как работает: трафик шифруется на обоих участках, но Cloudflare не проверяет, действителен ли сертификат на сервере. Подойдёт любой сертификат, даже просроченный.

Преимущества: данные передаются в зашифрованном виде, что уже лучше Flexible.

Недостатки: отсутствие проверки сертификата означает, что возможна подмена сервера (MITM-атака). Не рекомендуется для продакшена.

Настройка: 1. Установите на сервер любой SSL-сертификат (можно самоподписанный). 2. В Cloudflare выберите Full. 3. Проверьте, что сайт открывается по HTTPS без ошибок.

Шаг 5: Выберите режим Full (Strict)

Когда использовать: всегда, когда есть возможность. Это самый безопасный режим.

Как работает: Cloudflare шифрует трафик и проверяет, что сертификат на сервере действителен, не просрочен и выдан для вашего домена. Если проверка не проходит, посетители увидят ошибку 526.

Преимущества: полная защита от прослушивания и подмены, соответствие требованиям PCI DSS и другим стандартам безопасности.

Настройка: 1. Убедитесь, что на сервере установлен действительный сертификат (Let's Encrypt, коммерческий и т.д.). 2. В Cloudflare выберите Full (Strict). 3. Проверьте работу сайта. При ошибке 526 проверьте срок действия сертификата и цепочку сертификатов.

Шаг 6: Настройте перенаправление HTTP → HTTPS

Чтобы все посетители попадали на защищённую версию, включите перенаправление на стороне Cloudflare:

1. Перейдите в SSL/TLS → Edge Certificates. 2. Включите Always Use HTTPS. 3. (Опционально) Включите Automatic HTTPS Rewrites, чтобы избежать смешанного контента.

Если перенаправление уже настроено на сервере, убедитесь, что оно не конфликтует с режимом Flexible.

Шаг 7: Проверьте цепочку сертификатов

Для Full (Strict) важно, чтобы сервер отдавал полную цепочку сертификатов, включая промежуточные. Проверить можно через SSL Labs или командой:

openssl s_client -connect example.com:443 -showcerts

Если цепочка неполная, Cloudflare может выдать ошибку 526. В таком случае добавьте промежуточный сертификат в конфигурацию веб-сервера.

Шаг 8: Протестируйте сайт после изменений

После смены режима обязательно проверьте:

  • Открывается ли сайт по HTTPS без предупреждений.

  • Нет ли ошибок 525, 526 или циклических перенаправлений.

  • Корректно ли загружаются ресурсы (изображения, скрипты, стили).

  • Работают ли формы и API-запросы.

Используйте инструменты: curl -I https://ваш_домен, браузерные консоли, онлайн-проверки SSL.

Шаг 9: Устраните типичные ошибки

Ошибка 525 (SSL handshake failed): Cloudflare не может установить SSL-соединение с сервером. Проверьте, что сервер слушает порт 443 и сертификат установлен корректно.

Ошибка 526 (Invalid SSL certificate): сертификат на сервере недействителен или не соответствует домену. Обновите сертификат или переключитесь на Full (не Strict).

Бесконечный редирект: возникает при Flexible, когда на сервере настроен редирект на HTTPS. Отключите редирект на сервере или смените режим на Full.

Смешанный контент: некоторые ресурсы загружаются по HTTP. Включите Automatic HTTPS Rewrites или исправьте ссылки вручную.

Шаг 10: Обновите сертификат на сервере

Если вы используете Let's Encrypt, настройте автоматическое обновление. Для Certbot это делается через cron или systemd timer. Убедитесь, что после обновления сертификата веб-сервер перезагружается.

Шаг 11: Включите HSTS (опционально)

HTTP Strict Transport Security заставляет браузеры всегда использовать HTTPS. Включайте только после того, как убедитесь, что сайт стабильно работает по HTTPS. Настройка находится в SSL/TLS → Edge Certificates → HSTS.

Шаг 12: Проверьте совместимость с CDN и кэшированием

Смена режима SSL не влияет на кэширование, но может потребовать очистки кэша Cloudflare, если вы изменили сертификаты. Перейдите в Caching → Configuration и нажмите Purge Everything.

Типичные ошибки

  • Использование Flexible на продакшене. Это создаёт ложное чувство безопасности и может привести к утечке данных.

  • Забыли установить сертификат на сервер перед включением Full. Приводит к ошибкам 525/526.

  • Неполная цепочка сертификатов. Cloudflare Strict не принимает такие сертификаты.

  • Конфликт перенаправлений. Редирект на сервере + Flexible = бесконечный цикл.

  • Игнорирование смешанного контента. Браузер может блокировать загрузку HTTP-ресурсов на HTTPS-странице.

FAQ

Вопрос: Можно ли использовать Flexible, если на сервере нет SSL? Да, но только временно. Лучше как можно скорее установить сертификат и перейти на Full (Strict).

Вопрос: Чем Full отличается от Full (Strict)? Full не проверяет сертификат на сервере, Full (Strict) — проверяет. Strict безопаснее.

Вопрос: Что делать при ошибке 526? Проверьте срок действия сертификата, соответствие домену и полноту цепочки. При необходимости перевыпустите сертификат.

Вопрос: Влияет ли режим SSL на скорость сайта? Шифрование добавляет небольшую задержку, но современные процессоры справляются с ним быстро. Full (Strict) не медленнее Flexible.

Вопрос: Нужно ли менять настройки DNS при смене режима? Нет, режим SSL/TLS не влияет на DNS-записи.

Итог

Выбор между Flexible, Full и Full (Strict) — это выбор между удобством и безопасностью. Flexible может быть полезен только как временное решение, но для постоянной работы подходит Full (Strict). Он обеспечивает шифрование на обоих участках и проверку сертификата, защищая от подмены. Если у вас ещё нет сертификата на сервере, установите Let's Encrypt и переключитесь на Strict. Следуйте шагам инструкции, проверяйте цепочку сертификатов и тестируйте сайт после каждого изменения.

Читайте также

Комментарии

Комментарии доступны только зарегистрированным пользователям. Войти

  • Пока нет комментариев. Будьте первым.