⚠️ Проблема: Сайт недоступен в России, хотя всё настроено правильно
В последнее время владельцы сайтов, использующие Cloudflare, начали сталкиваться с жалобами: сайт не открывается у пользователей из России. Причём всё работало раньше, и никаких блокировок на сайте не было. Что произошло?

Ответ — в обновлении Cloudflare, которое включило по умолчанию расширение TLS ECH (Encrypted Client Hello).

🤔 Что такое TLS ECH?
ECH — это технология, которая шифрует поле SNI (Server Name Indication) в процессе установки HTTPS-соединения. В обычной ситуации SNI остаётся видимым, и провайдер/регулятор может определить, к какому сайту идёт запрос.

Cloudflare включил поддержку ECH осенью 2024 года по умолчанию на всех тарифах, в том числе и Free. Именно это стало причиной проблем: блокирующие системы Роскомнадзора (РКН) не могут определить сайт, к которому идёт обращение, и автоматически ограничивают доступ к серверу.

🛑 Что сказал РКН?
2 апреля 2025 года Роскомнадзор официально рекомендовал всем российским владельцам ресурсов отключить использование TLS ECH, так как технология нарушает законодательство и используется для обхода ограничений доступа к запрещённой информации.

«TLS ECH нарушает российское законодательство и ограничивается техническими средствами противодействия угрозам (ТСПУ)» — говорится в сообщении РКН.

Также добавили, что Cloudflare внесён в реестр ОРИ, и его использование может вызвать дополнительные юридические и технические последствия.

Подробности также опубликованы в другой статье на блоге pxsl.ru об отключении IPv6 в Cloudflare через командную строку, которая тесно связана с темой этой статьи.

🔍 Проверка: включён ли ECH для вашего домена

Сначала необходимо проверить, активен ли ECH. Для этого выполните следующее:

  1. Перейдите по ссылке, подставив ваш домен:

https://dns.google/resolve?name=[ВАШ_ДОМЕН]&type=HTTPS

Пример:
https://dns.google/resolve?name=example.com&type=HTTPS

  1. В полученном JSON-ответе ищите блок ech. Если он присутствует, значит ECH включен.

🧪 Проверка доступности сайта

Чтобы быстро узнать, работает ли сайт из вашего региона:

Для Linux / Mac / WSL:

curl -IL https://ваш-домен.ru

Для Windows (PowerShell):

curl -Method Head https://ваш-домен.ru

Если получаете ошибки вроде timeout или connection reset, а сайт с VPN работает — вероятно, ECH включён и сайт заблокирован ТСПУ

🧰 Подготовка: что потребуется

Чтобы отключить ECH через Cloudflare API, вам понадобятся:

1. Global API Key

  • Зайдите в профиль Cloudflare

  • Найдите раздел API Keys

  • Нажмите “View” напротив Global API Key

  • Введите пароль → скопируйте ключ

2. Zone ID вашего домена

  • Перейдите в панель управления нужного домена

  • Пролистайте вниз

  • Найдите строку Zone ID

  • Скопируйте значение

🔧 Решение: как отключить ECH через Cloudflare API
К счастью, даже на бесплатном тарифе можно вручную отключить ECH — с помощью одного запроса к API Cloudflare.

🐧 Инструкция для Linux / macOS (через curl):
 

curl -X PATCH "https://api.cloudflare.com/client/v4/zones/_idkey_/settings/ech" \
     -H "X-Auth-Email: _email_account_" \
     -H "X-Auth-Key: _global_key_" \
     -H "Content-Type: application/json" \
     --data '{"id":"ech","value":"off"}

Замените:

  • _idkey_ — на ID вашей зоны (доменной зоны)

  • _email_account_ — ваш email в Cloudflare

  • _global_key_ — глобальный API ключ (можно найти в личном кабинете Cloudflare)

🪟 Инструкция для Windows (через PowerShell):

$headers = @{
  "X-Auth-Email" = "_email_account_"
  "X-Auth-Key"   = "_global_key_"
  "Content-Type" = "application/json"
}
$body = '{"id":"ech","value":"off"}'
Invoke-RestMethod -Uri "https://api.cloudflare.com/client/v4/zones/_idkey_/settings/ech" `
  -Method Patch -Headers $headers -Body $body

🔐 А что насчёт TLS 1.3?

Многие задаются вопросом: если Cloudflare всё равно использует TLS 1.3 — не будет ли сайт всё равно блокироваться?

Нет. Проблема не в самом TLS 1.3, а именно в ECH.

➡️ Даже если TLS 1.3 остаётся включённым, но расширение ECH отключено, сайт будет доступен из России. Это потому что поле SNI (где указывается имя хоста) больше не шифруется, и фильтрация Роскомнадзора снова видит, к какому домену идёт запрос.


✅ Кратко: что делать, если ваш сайт не открывается в РФ

  1. Зайдите в Cloudflare → получите Zone ID, API ключ и email.

  2. Выполните curl или PowerShell команду (смотрите выше).

  3. Убедитесь, что расширение ECH отключено.

  4. Проверьте доступность сайта через российские IP (например, через VPN с выходом в РФ).


📌 Почему вообще блокируют?

Технические блокировки связаны с рекомендациями и действиями Роскомнадзора и его подведомственных структур (например, ГРЧЦ). Они считают, что шифрование SNI — это способ обхода цензуры, а значит, нарушает российское законодательство. Поэтому:

  • блокируются IP-адреса Cloudflare, где включён ECH,

  • сайты становятся недоступны,

  • даже крупные ресурсы попадают под фильтрацию.