Статья описывает решения возможных ошибок, которые могут возникнуть при выпуске или замене сертификата платформы.
Failed to start new daemon with ssl
При замене сертификата не запускается веб-сервер ihttpd. В логе /usr/local/mgr5/var/ihttpd.log ошибка вида:
Nov 23 06:57:11 [1680:1] main WARNING Failed to listen: ip '10.10.11.15', port '443'. Reason: Failed to start new daemon with sslПричина ошибки — неверно собранная цепочка сертификатов.
Чтобы решить проблему, удалите сертификаты и добавьте их заново по инструкции:
- Удалите сертификаты в интерфейсе платформы по пути Адреса панели → Сертификаты → кнопка Удалить.
- Подключитесь к серверу с платформой по SSH.
-
Удалите сертификаты из директории /usr/local/mgr5/etc/. Названия файлов можно проверить в конфигурационном файле /usr/local/mgr5/etc/ihttpd.conf. Пример секции listen с названиями файлов сертификата:
listen { ip 10.10.11.15 port 1515 redirect certkey etc/ihttpd_cert.key cert etc/ihttpd_cert.crt cacert /etc/ssl/certs/ipa-ca.pem }Пояснения - Добавьте сертификат:
- Перейдите в раздел Настройки → Адреса панели → Сертификаты.
- Нажмите кнопку Добавить.
- Выберите Существующий.
Сертификат и цепочка будут отсортированы автоматически.
Symlink_exists при выпуске Let's Encrypt
При попытке выпустить сертификат для платформы возникает ошибка "Не удалось получить сертификат Let's Encrypt". В логах появляется следующая ошибка:
Type: 'file' Object: 'symlink_exists' Value: 'www/letsencrypt/.well-known/acme-challenge'Ошибка возникает, когда сертификат был принудительно удалён. В отличие от автоматического перевыпуска, ручное удаление с последующим добавлением нового сертификата вызывает конфликт. Система пытается создать каталог www/letsencrypt/.well-known/acme-challenge, который уже существует, что приводит к сбою.
Чтобы решить проблему:
- Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
-
Удалите оставшиеся файлы старого сертификата:
rm -rf /usr/local/mgr5/etc/scripts/acmesh/ca/ rm -rf /usr/local/mgr5/etc/scripts/acmesh/my.domain.ru/ rm -rf /usr/local/mgr5/www/letsencrypt/.well-known/Пояснения - Повторно выпустите сертификат.
Сертификат не перевыпускается автоматически
Если сертификат не перевыпустился автоматически, проверьте лог /usr/local/mgr5/var/billmgr_acme_sh.log. Если в логе нет ошибок, причина может быть в устаревшем скрипте acme.sh. Скрипт расположен по пути:
/usr/local/mgr5/etc/scripts/acmesh/Чтобы решить проблему, обновите скрипт до актуальной версии:
- Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
-
Проверьте версию скрипта:
/usr/local/mgr5/etc/scripts/acmesh/acme.sh --version -
Если версия ниже v3.0.5, обновите скрипт:
/usr/local/mgr5/etc/scripts/acmesh/acme.sh --upgrade