Решение ошибок ACME при выпуске SSL-сертификата
При включении HTTPS-режима для виртуального хоста панель BeAdmin запрашивает SSL-сертификат у Let's Encrypt и добавляет его в конфигурацию Nginx. Запрос идёт по протоколу ACME — публичному стандарту автоматического выпуска сертификатов.
Чтобы выпустить сертификат, Let's Encrypt должен убедиться, что вы действительно владеете доменом. Для этого Let's Encrypt отправляет проверочный запрос на домен с публичной стороны — если DNS, Nginx или сетевые порты настроены некорректно, проверка не проходит, и панель сообщает об ошибке.
Включение HTTPS
HTTPS включается переключателем «Подключение по HTTPS (порт 443)» при создании или редактировании виртуального хоста — панель запрашивает сертификат сразу же. Подробнее о форме виртуального хоста — в статье Nginx. Работа с виртуальными хостами, про устройство выпуска и ручной перевыпуск — в Выпуск SSL-сертификата. Эта статья — справочник по конкретным сообщениям об ошибках.
Если выпустить сертификат не удалось — панель покажет подробную ошибку. Конкретные сообщения и что с ними делать — ниже.
Сообщения об ошибках
Сообщения ниже панель выводит при ошибке выпуска. Для каждого: что произошло на стороне Let's Encrypt и что нужно поправить.
DNS-записей для домена нет
Не удалось выпустить SSL-сертификат: DNS-записи для домена не найдены.
Let's Encrypt не нашёл вообще никаких DNS-записей по доменному имени — домен либо не делегирован на DNS-серверы провайдера, либо записи ещё не добавлены.
Что делать:
- Проверьте, что домен делегирован на DNS-серверы вашего регистратора или провайдера.
- Создайте A- или AAAA-запись, указывающую на IP-адрес сервера. Как настраивать DNS — см. Настройка DNS-записей для почтового сервера (раздел про A-запись применим к любому сайту).
- Подождите, пока изменения распространятся (обычно несколько минут, иногда до часа), и повторите выпуск сертификата.
Нет A или AAAA-записи
Не удалось выпустить SSL-сертификат: DNS-записи типов А или АААА для домена не найдены.
Какие-то DNS-записи у домена есть (например, MX или TXT), но нет A (IPv4) или AAAA (IPv6). Без них Let's Encrypt не знает, по какому IP обращаться к серверу.
Что делать:
- Добавьте A-запись с IP-адресом вашего сервера или AAAA-запись, если используете IPv6.
- Дождитесь распространения и повторите выпуск.
DNS указывает на другой сервер
Не удалось выпустить SSL-сертификат: DNS-записи указывают на другой сервер.
A или AAAA-запись существует, но ведёт не на тот сервер, где работает BeAdmin. Запрос Let's Encrypt пришёл на чужой IP, и проверка владения провалилась.
Что делать:
- Сравните IP-адрес сервера в панели с A-записью домена.
- Поправьте A-запись у регистратора или DNS-провайдера. Если запись правильная, но добавлена недавно — подождите распространения.
- Если используете прокси (например, Cloudflare), на время выпуска отключите проксирование — в Cloudflare переключите облако с оранжевого на серое.
Бесконечные редиректы при проверке
Не удалось выпустить SSL-сертификат: бесконечные редиректы при попытке подтвердить владение доменом.
Сервер отвечает Let's Encrypt серией редиректов, которая зацикливается. Чаще всего это случается, когда Nginx перенаправляет HTTP на HTTPS, а HTTPS-сертификата ещё нет — Let's Encrypt не может пройти проверку через http://.
Что делать:
- Временно уберите принудительный редирект с HTTP на HTTPS на стороне сайта или CMS.
- Дождитесь успешного выпуска сертификата, после чего верните редирект.
- Если редирект делает CDN или внешний прокси — отключите его на время выпуска.
Превышен лимит запросов Let's Encrypt
Слишком много запросов на выпуск SSL-сертификата.
Слишком много запросов на выпуск SSL-сертификата, следующая попытка доступна через {diff} ({human}).
Let's Encrypt ограничивает количество выпусков для одного домена в неделю — лимит общий на весь домен и его поддомены. Чаще всего сюда попадают, когда несколько раз подряд пытались выпустить сертификат, не починив исходную проблему.
Что делать:
- Дождитесь снятия лимита. Если в сообщении указано конкретное время — ориентируйтесь на него; иначе ждите до 7 дней.
- Перед повторной попыткой убедитесь, что DNS, порт 80 и редиректы настроены корректно — повторная ошибка сбросит таймер заново.
- Если сайт срочно нужен с HTTPS, временно используйте сертификат другого центра сертификации или переведите сайт в HTTP-режим.
Порт 80 закрыт или занят
Не удалось выпустить SSL-сертификат: порт 80 на сервере закрыт или занят другим сервисом.
Let's Encrypt подтверждает владение доменом по протоколу HTTP-01: отправляет проверочный запрос на сервер по порту 80. Если этот порт закрыт фаерволом, занят другим процессом или перенаправлен — проверка не проходит.
Что делать:
- Откройте порт 80 в фаерволе сервера и у хостинг-провайдера.
- Проверьте, что Nginx слушает порт 80 — это стандартное поведение
BeAdmin. - Если на 80-м порту работает другой сервис, освободите его — на время выпуска порт нужен Nginx.
Тайм-аут проверки
Не удалось выпустить SSL-сертификат: Let's Encrypt не получил ответ от сервера за отведённое время.
Запрос Let's Encrypt дошёл до сервера, но сервер не ответил за отведённое время — типично для перегруженного сервера, медленной сети или внешней проблемы с маршрутизацией.
Что делать:
- Подождите несколько минут и повторите выпуск.
- Проверьте, отвечает ли сервер по HTTP с другого устройства — например, командой
curl http://yourdomain.com/.well-known/acme-challenge/test. - Если проблема устойчивая — обратитесь к хостинг-провайдеру.
Некорректный ответ при проверке
Не удалось выпустить SSL-сертификат: сервер вернул некорректный ответ при подтверждении владения доменом.
Сервер ответил Let's Encrypt, но в ответе оказался не тот контент, который ожидался. Чаще всего так происходит, когда виртуальный хост перехватывает запросы к /.well-known/acme-challenge/ — например, через WordPress, CMS-роутер или общий location /.
Что делать:
- Убедитесь, что виртуальный хост создан в
BeAdminчерез стандартную форму — панель добавляет нужный location для ACME автоматически. - Если в конфиг Nginx добавляли свои правила вручную — проверьте, что
/.well-known/acme-challenge/не блокируется ими. - Отключите плагины безопасности CMS, перехватывающие неизвестные URL.
Запрет в CAA-записи
Не удалось выпустить SSL-сертификат: CAA-запись домена запрещает выпуск через Let's Encrypt.
У домена есть CAA-запись, которая ограничивает список центров сертификации, имеющих право выпускать сертификаты. Если в этом списке нет Let's Encrypt — выпуск заблокирован на стороне DNS.
Что делать:
- Проверьте CAA-записи домена — например, командой
dig +short CAA yourdomain.com. - Добавьте CAA-запись с
letsencrypt.orgлибо удалите ограничивающие записи, если они вам не нужны. - Дождитесь распространения и повторите выпуск.
Прочая ошибка Let's Encrypt
Не удалось выпустить SSL-сертификат из-за ошибки Let's Encrypt.
Let's Encrypt вернул ошибку, для которой у панели пока нет специального разбора. В сообщении показывается общий текст, детальное описание можно увидеть в логах сервера.
Что делать:
- Откройте лог
BeAdmin— точный текст ошибки от Let's Encrypt поможет понять причину. - Сверьте сообщение с актуальным статусом Let's Encrypt — иногда сбой связан с недоступностью CA, а не с вашим сервером.
- Если разобраться не удаётся — напишите в поддержку и приложите текст из лога.