Skip to content

Что делать когда не выпускается SSL-сертификат от LE

Что делать когда не выпускается SSL-сертификат от LE

Сертификат не выпускается, без возникновения каких-либо ошибок

Проблема с заданием periodic

Проверяем, всё ли в порядке с заданиями periodic

## ISPmanager periodic tasks handler (ispmgr)
* * * * *   /usr/local/mgr5/sbin/cron-ispmgr sbin/mgrctl -m ispmgr periodic >/dev/null 2>&1
что выполняются каждую минуту и отвечают в том числе и за выпуск сертификатов

Делаем так

tail -f /usr/local/mgr5/var/ispmgr.log|grep periodic

Если видим строки вида

Apr 29 12:58:01 [11852:939] core_module INFO Request [mgrctl][root] 'func=periodic&out=text'
Apr 29 12:58:01 [11852:941] core_module EXTINFO Internal [][] 'func=letsencrypt.periodic'
Apr 29 12:59:01 [11852:943] core_module INFO Request [mgrctl][root] 'func=periodic&out=text'
Apr 29 12:59:01 [11852:945] core_module EXTINFO Internal [][] 'func=letsencrypt.periodic'
всё в порядке.

Если нет, проверяем всё ли впорядке с crond

systemctl status crond
Если он не в статусе "active" — запускаем

systemctl start crond

После чего ждём 5-15 минут, за это время таски на выпуск сертификатов должны отработать.

Проблема слишком старой версии плагина LE

Бывает, что панель очень старая, и плагин LE в ней не соответствует текущим требованиям к клиентам протокола ACME для выпуска сертификатов Let's Encrypt. В таком случае сертификаты начинают обновляться только после обновления панели.

Версия плагина LE зависит от версии панели.

Выполняем

/usr/local/mgr5/bin/core ispmgr -F
и

/usr/local/mgr5/bin/core ispmgr -v

чтобы получить информацию о версии панели. Смотрим на (странице)[https://www.ispsystem.ru/software/ispmanager/changelog] актуальная ли версия панели используется на сервере. Если нет, обновляем панель из раздела **Возможности⇾Обновить" отметив пункт "Обновить ПО", или вручную(с помощью указания нужной версии в /etc/yum.repos.d/ispsystem.repo и обновления с помощью yum).

Принудительно обновляем серт LE на ISPManager 5 в ситуациях, когда нет времени ждать, пока отработает periodic

Запускаем задание на обновление сертификата командой

/usr/local/mgr5/sbin/mgrctl  -m ispmgr letsencrypt.check.update force_update=yes, cert_name=${cert_name}, user_name=${username}
где:

  • cert_name – название сертификата
  • username – имя пользователя, на учётной записи которого расположен сертификат.

Сертификат не выпускается из-за ошибки — подробностей в логах нет

Подробности пишутся в лог /usr/local/mgr5/var/letsencrypt.log. Но, с настройками логирования ошибок по умолчанию подробности в него не пишутся, да и в логе /usr/local/mgr5/var/ispmgr.log инфомрации о проблеме минимум.

Необходимо включить расширенное логирочание модулей, от работы которых зависит плагин LE, чтобы получить подробный лог.

Переходим в раздел "Настройки → Настройка логирования", выделяем модули ssl, rpc и core_modules. Нажимаем на пиктограмму "Максимальный".

Сертификат не выпускается — ошибки в логе присутствуют

Ошибка выпуска сертификата может возникать по причине: * временных проблем серверов LE, ответственных за выпуск сертификата * превышения лимита на запросы для выпуска сертификатов для домена * по причинам, связанным с не корректно указанными DNS-серверами для домена * проблеме, вызванной переопределением альяса .well-known/acme-challenge/ в конфигурационных файлах веб-сервера * не корректно установленным правам доступа на каталог /usr/local/mgr5/www/letsencrypt.

Временные проблемы на серверах LE

Проявляется проблема редко. В таких случаях нужно просто ждать.

Превышение лимита на запросы на выпуск сертификатов

Тоже ждать.

Не корректно настроен DNS

Указаны сторонние, или не корректные, DNS-сервера для домена

Если подтверждение при выпуске серфтиката осуществляется через DNS(была отмечена соответствующая галочка при выпуске сертификата), проверяем что у нас указаны верные DNS-сервера для домена

whois domain.name
где domain.name — доменное имя, для которого выпускается сертификат.

так как запись, добавляемая плагином LE, со сторонних DNS-серверов не будет отдаваться. И её нужно добавить в таком случае вручную(последние версии панели предупреждают об этом в подобных случаях), или сменить DNS-сервера для домена.

Указана не корректная А/AAAA-запись для домена

При потверждение домена через запрос к файлу http://domain.name/.well-known/acme-challenge/<какой-то файл> сервера LE могут столкнуться с тем, что для домена в A/AAAA–записях указаны адреса, не указанные в свойствах WWW-домена, или ведущие на другой сервер. Плагин LE делает запрос, запрос не доходит до нужного сервера, или приходит на другой сервер из-за ошибки в А/AAAA–записях, и завершается неудачей. В таких случаях нужно внимательно проверить какие IP-адреса указаны в соответствюущих записях домена

dig +short +noshort A @8.8.8.8
dig +short +noshort AAAA @8.8.8.8

и если они отличаются от указанных в свойствах WWW-домена, исправить соответствюущие записи. После чего дождаться обновления зоны DNS домена в кэше интернет-провайдеров, и последующего за этим выпуска сертификата.

Переопределён альяс .well-known/acme-challenge/

Провремя конфигурационные файлы веб-сервера, убеждаемся что альяс ведёт к /usr/local/mgr5/www/letsencrypt и он указан в одном глобальном конфигурационном файле /etc/nginx/vhosts-includes/letsencrypt.conf. Если это не так, убираем лишние блоки с альясом из конфигурационных файлов, перезапускаем nginx и повторяем выпуск сертификата.

Установленны не корректные права на каталог /usr/local/mgr5/www/letsencrypt

Смотрим

ls -lhd /usr/local/mgr5/www/letsencrypt

lsattr /usr/local/mgr5/www/letsencrypt
Каталог должен быть доступен для записи для пользователя root, и в него не должна быть запрещена запись.

Полезные материалы по теме: