Encrypted Client Hello (ECH) по умолчанию включена на Cloudflare для всех доменов, но в России наблюдаются сбои с доступом к таким сайтам из-за действий РКН. Например мой сайт в какой-то момент перестал работать.
Отключить ECH через админку бесплатного аккаунта Cloudflare не получится, придется использовать API.
1. Проверка включен ли ECH
Введите в адресную строку браузера следующий запрос, заменив {ВАШ_ДОМЕН}
на имя вашего домена.
https://dns.google/resolve?name={ВАШ_ДОМЕН}&type=HTTPS
В результатах ответа ищите слово ECH
, если его нет, то технология отключена.
2. Получение ключей для API
Нам понадобятся Global API Key и Zone ID вашего домена.
Global API Key
Перейдите на страницу Cloudflare по следующей ссылке и найдите ваш глобальный API-ключ:

Zone ID
Перейдите в управление вашим доменом на Cloudflare. Прокрутите вниз страницу и в правом столбце найдите и скопируйте Zone ID.

3. Отправка запроса на отключение 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"}'
После выполнения команды вы получите следующий JSON-ответ:
{"result":{"id":"ech","value":"off","modified_on":null,"editable":true},"success":true,"errors":[],"messages":[]}
В адресной строке браузера снова проверьте, теперь в ответе не будет содержаться информации об ECH:
https://dns.google/resolve?name={ВАШ_ДОМЕН}&type=HTTPS
Чтобы снова включить ECH, выполните ту же команду, заменив значение параметра value
с off
на on
.
