Не удалось выбрать подходящий плагин: плагин nginx не работает; - PullRequest
0 голосов
/ 30 апреля 2018

Обработка /etc/letsencrypt/renewal/api.shunhinggaoke.com.conf

Сертификат не подлежит обновлению, но имитирует обновление для пробного прогона Не удалось выбрать подходящий плагин: плагин nginx не работает; могут быть проблемы с вашей существующей конфигурацией. Ошибка была: NoInstallationError () При попытке обновить сертификат (api.shunhinggaoke.com) из /etc/letsencrypt/renewal/api.shunhinggaoke.com.conf возникла непредвиденная ошибка: плагин nginx не работает; могут быть проблемы с вашей существующей конфигурацией. Ошибка была: NoInstallationError (). Пропуская. Все попытки обновления не увенчались успехом. Следующие сертификаты не могут быть продлены: /etc/letsencrypt/live/api.shunhinggaoke.com/fullchain.pem (ошибка)


** DRY RUN: имитация «продления certbot» близка к истечению срока действия сертификата ** (Тестовые сертификаты, указанные ниже, не были сохранены.)

Все попытки обновления не увенчались успехом. Следующие сертификаты не могут быть продлены: /etc/letsencrypt/live/api.shunhinggaoke.com/fullchain.pem (ошибка) ** DRY RUN: имитация «продления certbot» близка к истечению срока действия сертификата

** (Приведенные выше сертификаты испытаний не были сохранены.)

1 ошибка (и) обновления, 0 ошибка (ы) разбора

1 Ответ

0 голосов
/ 10 июля 2018

Я только что натолкнулся на ваш вопрос и не знаю, если у вас все еще есть проблема. Вам необходимо опубликовать более подробную информацию. Вы даже не указываете, на какой платформе у вас возникла проблема. Я предполагаю, что это на машине Linux. Если да, запускаете ли вы команду certbot renew --dry-run из командной строки или из сценария cron?

Вышеприведенная проблема указывает на проблему среды, скорее всего, на проблему PATH, и я предполагаю, что вы получаете это только при запуске скрипта через cron. Я также предполагаю, что вы добавили его в свой crontab с помощью команды crontab -e или sudo crontab -e.

Обычно предлагаемое решение - установить свой PATH в самом файле crontab и повторить попытку. Это означает, что не следует делать (sudo) crontab -e, но убедитесь, что либо системный crontab в файле / etc / crontab установлен, либо вы установили его в файле crontab для certbot.

Для меня в Ubuntu 16.04 это /etc/crond.d/certbot, и это выглядит так:

#lots of commented lines preceding ...
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e'sleep int(rand(43200))' && certbot -q renew

Он работает два раза в день. Вы можете проверить это, добавив еще одну строку, например:

 * * * * * root /usr/bin/certbot renew --quiet --dry-run

а затем просмотрите ваш журнал certbot. Вероятно, он находится в /var/log/letsencrypt/letsencrypt.log и защищен от чтения. Сделать

sudo tail -f  /var/log/letsencrypt/letsencrypt.log

и посмотри, что ты получишь. Вы должны получить no renewal failures в конце пробега, если все работает нормально. Скрипт запускается каждую минуту, поэтому выключайте его после получения логов.

...