Отключение Encrypted Client Hello (ECH)
Зачем отключать ECH?
Роскомнадзор заблокировал технологию Encrypted Client Hello (ECH), что вызвало проблемы для пользователей Cloudflare в России. Более того, Cloudflare принудительно активировал эту технологию для всех пользователей, включая тех, кто находится на бесплатном тарифе.
В этом гайде мы разберем, как отключить ECH для вашего домена через Cloudflare API.
Шаг 1: Проверка включения ECH
Прежде чем отключать ECH, проверьте, включен ли он для вашего домена. Это можно сделать с помощью запроса к Google Public DNS:
- Перейдите по следующей ссылке, заменив
[ВАШ_ДОМЕН]на имя вашего домена:
https://dns.google/resolve?name=[ВАШ_ДОМЕН]&type=HTTPS- Если в результатах видно, что ECH активен, переходите к следующему шагу.
Пример: Для домена example.com ссылка будет выглядеть так:
https://dns.google/resolve?name=example.com&type=HTTPSШаг 2: Получение данных для Cloudflare API
Для взаимодействия с API вам понадобятся два ключевых элемента:
Global API Key
- Перейдите на страницу профиля Cloudflare
- Найдите раздел с вашим Global API Key и скопируйте ключ
Zone ID
- Зайдите в панель управления вашим доменом в Cloudflare
- Прокрутите страницу вниз в правой колонке
- Скопируйте значение Zone ID
Шаг 3: Отключение ECH через Cloudflare API
Способ 1: Использование команды curl
Для отключения ECH выполните следующую команду в терминале, заменив {ID_ZONE}, {ACCOUNT_EMAIL} и {GLOBAL_API_KEY} на ваши данные:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/{ID_ZONE}/settings/ech" \
-H "X-Auth-Email: {ACCOUNT_EMAIL}" \
-H "X-Auth-Key: {GLOBAL_API_KEY}" \
-H "Content-Type: application/json" \
--data '{"id":"ech","value":"off"}'Пример:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/abc123def456/settings/ech" \
-H "X-Auth-Email: [email protected]" \
-H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
-H "Content-Type: application/json" \
--data '{"id":"ech","value":"off"}'Способ 2: Использование Postman
Вы можете выполнить этот запрос через Postman, следуя инструкциям:
1. Настройка запроса
- Метод:
PATCH - URL:
https://api.cloudflare.com/client/v4/zones/{ID_ZONE}/settings/ech2. Настройка Headers
В разделе Headers добавьте следующие поля:
| Key | Value |
|---|---|
X-Auth-Email |
ваш email-адрес Cloudflare |
X-Auth-Key |
ваш Global API Key |
Content-Type |
application/json |
3. Настройка Body
В разделе Body выберите raw и JSON, затем введите:
{
"id": "ech",
"value": "off"
}4. Отправка запроса
Нажмите кнопку Send и дождитесь ответа от сервера.
Способ 3: В случае с платным тарифом
Если вы используете платный тариф Cloudflare, отключить ECH можно через интерфейс панели управления:
- Перейдите в раздел SSL/TLS
- Откройте вкладку Edge Certificates
- Найдите настройку Encrypted ClientHello (ECH)
- Установите значение Disabled
Проверка результата
После отключения ECH рекомендуется проверить изменения:
- Подождите 5-10 минут для применения настроек
- Снова выполните проверку через Google Public DNS (Шаг 1)
- Проверьте доступность вашего сайта для пользователей из России
Возможные проблемы и решения
Ошибка аутентификации
Проблема: Получаете ошибку Authentication error или Invalid credentials
Решение:
- Проверьте правильность email-адреса
- Убедитесь, что скопировали Global API Key полностью
- Проверьте, что не добавили лишние пробелы при копировании
Ошибка Zone ID
Проблема: Получаете ошибку Zone not found
Решение:
- Убедитесь, что Zone ID скопирован правильно
- Проверьте, что используете Zone ID именно того домена, который хотите изменить
ECH не отключается
Проблема: После выполнения команды ECH остается включенным
Решение:
- Подождите 10-15 минут для применения изменений
- Очистите DNS-кеш на вашем устройстве
- Повторите запрос к API
Дополнительные ресурсы
- Официальная документация Cloudflare API
- Руководство по настройке SSL/TLS в Cloudflare
- Сообщество Cloudflare