Все руководства для начинающих Начало работы

HTTP-01 Challenge: как это работает и как его пройти

HTTP-01 --- самый распространённый тип ACME-проверки для получения SSL-сертификата. Центр сертификации проверяет, что вы контролируете домен, запрашивая определённый файл с вашего веб-сервера по HTTP через порт 80. Это проще, чем DNS-01, но не может использоваться для wildcard-сертификатов.

Как это работает

  1. Let’s Encrypt предоставляет вам токен (случайную строку)
  2. Вы создаёте файл по адресу http://yourdomain.com/.well-known/acme-challenge/{token}
  3. Содержимое файла --- авторизация ключа (токен, объединённый с отпечатком ключа вашего ACME-аккаунта)
  4. Let’s Encrypt запрашивает этот URL из публичного интернета
  5. Если содержимое совпадает, проверка пройдена и ваш сертификат выпускается

С GetHTTPS шаги 1 и 3 выполняются автоматически --- вам нужно лишь разместить файл на сервере с значениями, показанными на экране.

Как разместить файл проверки

Через SSH (Linux/Nginx/Apache)

# Создайте директорию
mkdir -p /var/www/html/.well-known/acme-challenge/

# Создайте файл с точными значениями из GetHTTPS
echo "KEY_AUTHORIZATION_FROM_GETHTTPS" > /var/www/html/.well-known/acme-challenge/TOKEN_FROM_GETHTTPS

# Проверьте доступность
curl http://yourdomain.com/.well-known/acme-challenge/TOKEN_FROM_GETHTTPS

Через cPanel File Manager

  1. Перейдите в public_html
  2. Создайте папку .well-known -> внутри неё создайте папку acme-challenge
  3. Создайте новый файл с именем, совпадающим с токеном
  4. Вставьте авторизацию ключа как содержимое файла
  5. Убедитесь, что права доступа 644 (файл читаем веб-сервером)

Через FTP

  1. Подключитесь к корневой директории сайта
  2. Создайте путь директорий .well-known/acme-challenge/
  3. Загрузите текстовый файл с именем токена, содержащий авторизацию ключа

Настройка сервера

Некоторым веб-серверам нужна настройка для отдачи файлов из .well-known:

Nginx

# Добавьте в блок server, если .well-known возвращает 404
location /.well-known/acme-challenge/ {
    root /var/www/html;
    allow all;
}

Apache

Apache обычно отдаёт .well-known по умолчанию. Если нет:

Alias /.well-known/acme-challenge/ /var/www/html/.well-known/acme-challenge/
<Directory "/var/www/html/.well-known/acme-challenge/">
    AllowOverride None
    Options None
    Require all granted
</Directory>

Node.js / Express

app.use('/.well-known/acme-challenge', express.static('challenges'));

Требования

  • Домен должен указывать на публичный IP-адрес вашего сервера
  • Порт 80 должен быть открыт --- Let’s Encrypt всегда выполняет проверку по HTTP, не по HTTPS
  • Ответ должен возвращать HTTP 200 OK
  • Никаких кросс-доменных перенаправлений --- перенаправления HTTP->HTTPS в пределах одного домена допускаются
  • Файл должен быть доступен без аутентификации (без Basic Auth, без страницы входа)

Когда использовать HTTP-01

СценарийHTTP-01?
Сертификат для одного домена✅ Да --- самый простой вариант
Сертификат для домена + www✅ Да --- одна проверка для каждого имени
Wildcard-сертификат (*.example.com)❌ Нет --- используйте DNS-01
Порт 80 заблокирован❌ Нет --- используйте DNS-01
За прокси Cloudflare⚠️ Может потребоваться сначала переключить DNS на серое облако
Нет доступа к серверу вообще❌ Нет --- используйте DNS-01 (нужен только доступ к DNS)

HTTP-01 vs DNS-01

HTTP-01DNS-01
Что нужно сделатьРазместить файл на сервереДобавить TXT-запись в DNS
Необходим доступК файловой системе веб-сервераК настройкам DNS домена
Требования к портамПорт 80 открытНет
Поддержка wildcard
СкоростьМгновенно (если файл доступен)1-15 мин (распространение DNS)
Работает за CDN⚠️ Может потребоваться обход CDN✅ Всегда работает
Лучше всего дляБольшинство сертификатов для одного доменаWildcard, без доступа к серверу, за CDN

Устранение неполадок

Файл проверки возвращает 404

  • Проверьте точный путь --- должен быть /.well-known/acme-challenge/TOKEN без лишних слешей
  • Проверьте права доступа к файлу --- chmod 644
  • Nginx: Ваша конфигурация может блокировать dot-файлы. Добавьте блок location, показанный выше
  • cPanel: Файловый менеджер может скрывать .well-known --- включите “Show Hidden Files”

Проверка не проходит, хотя файл доступен

  • Проверьте извне вашей сети: curl http://yourdomain.com/.well-known/acme-challenge/TOKEN с другой машины или используйте онлайн-инструмент
  • DNS может указывать на другой сервер --- проверьте, что dig +short yourdomain.com возвращает IP-адрес вашего сервера
  • Прокси Cloudflare: Временно переключите на DNS-only (серое облако) во время валидации

Порт 80 заблокирован

Некоторые хостинги или файрволы блокируют порт 80. Варианты:

  1. Откройте порт 80 (хотя бы временно, для валидации)
  2. Перейдите на DNS-01 challenge --- не требует порта 80
  3. Попросите хостинг-провайдера пропустить .well-known через их прокси

Ошибка “too many requests”

Вы достигли лимитов запросов Let’s Encrypt. Подождите и повторите. Предварительная проверка GetHTTPS помогает избежать напрасных попыток, проверяя доступность файла перед отправкой.

Часто задаваемые вопросы

Можно ли удалить файл проверки после получения сертификата?

Да. Файл нужен только во время валидации. После выпуска сертификата удалите директорию .well-known/acme-challenge/ и её содержимое. При продлении вы создадите новые файлы.

Нужно ли отдавать файл по HTTPS?

Нет. Let’s Encrypt всегда выполняет проверку HTTP-01 по обычному HTTP (порт 80), даже если ваш сайт поддерживает HTTPS. Перенаправления HTTP->HTTPS в пределах одного домена допускаются, но первоначальный запрос всегда идёт по HTTP.

Можно ли использовать HTTP-01 для нескольких доменов в одном сертификате?

Да. Для каждого домена в сертификате нужен свой файл проверки. Если вы получаете сертификат для example.com и www.example.com, вы размещаете два файла --- по одному токену на домен. GetHTTPS обрабатывает их последовательно.

Что такое “предварительная проверка” в GetHTTPS?

Перед отправкой в Let’s Encrypt GetHTTPS проверяет доступность вашего файла проверки из публичного интернета (через DNS-over-HTTPS Google). Это выявляет ошибки конфигурации до того, как они потратят попытку лимита запросов --- функция, отсутствующая у других браузерных инструментов.

Похожие статьи

Начало работы 2026-05-08
Как получить бесплатный SSL-сертификат (пошаговое руководство)
Получите бесплатный SSL-сертификат от Let's Encrypt за 5 минут --- без установки программ, без создания аккаунта. Полное руководство: 4 метода, оба типа проверки, установка на 6 платформах и устранение неполадок.
Начало работы 2026-05-08
DNS-01 Challenge: как это работает и как его пройти
DNS-01 валидация подтверждает владение доменом путём добавления TXT-записи в DNS. Обязательна для wildcard-сертификатов. Инструкции для Cloudflare, Route 53, GoDaddy, Namecheap и других.
Начало работы 2026-05-07
Как получить бесплатный Wildcard SSL-сертификат
Получите бесплатный wildcard SSL-сертификат (*.example.com) от Let's Encrypt с помощью GetHTTPS. Требуется только DNS-01 проверка. Инструкции для Cloudflare, Route 53, GoDaddy и Namecheap.
Получите бесплатный SSL-сертификат в браузере
Без установки, без аккаунта. Ваш приватный ключ никогда не покидает устройство.
Получить сертификат