Статья описывает решения возможных ошибок, которые могут возникнуть при выпуске или замене сертификата платформы.
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". В логах — ошибка, которая говорит о том, что каталог www/letsencrypt/.well-known/acme-challenge уже существует:
Type: 'file' Object: 'symlink_exists' Value: 'www/letsencrypt/.well-known/acme-challenge'
Ошибка возникает, если сертификат был удалён принудительно. Сертификат перевыпускается автоматически, но если удалить его, а затем добавить снова, система выдаст ошибку, что каталог www/letsencrypt/.well-known/acme-challenge уже существует.
Чтобы решить проблему:
- Подключитесь к серверу с платформой по 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.
-
Проверьте версию скрипта:
/usr/local/mgr5/etc/scripts/acmesh/acme.sh --version
-
Если версия ниже v3.0.5, обновите скрипт:
/usr/local/mgr5/etc/scripts/acmesh/acme.sh --upgrade