Назад | Перейти на главную страницу

letsencrypt прекратил автоматическое обновление

Я установил свои сертификаты letsencrypt в начале этого года, и все работало нормально - все они автоматически обновлялись с помощью задания crontab хотя бы один раз за это время. Изначально я использовал это пошаговое руководство для их настройки: https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04

Однако вчера я получил уведомление об истечении срока действия, а сегодня утром сертификат официально истек.

Я проверил свои задания crontab, и они выглядят нормально, а журнал показывает только успехи, поэтому, похоже, проблемы здесь нет.

Поэтому я попытался запустить процесс автоматического обновления вручную, используя:

/opt/letsencrypt/letsencrypt-auto renew

Ошибок нет, и я получаю сообщение с поздравлением о том, что все обновления прошли успешно.

Поздравляю, все обновления прошли успешно. Продлены следующие сертификаты:…

Однако фактически ни один из сертификатов не обновлялся. У сайта, для которого я вчера получил уведомление, все еще та же дата истечения срока действия (сегодня рано утром), поэтому, похоже, он не обновлялся.

Изменилось ли что-то за последние 6 месяцев, что могло вызвать эту проблему? Мне действительно нужно обновить эти сертификаты ...

Изменить: Хорошо, поэтому я изначально пропустил эту ошибку (поскольку она помечала процесс, поэтому ее легко пропустить):

certbot.cli: вы используете старую копию letsencrypt-auto, которая не получает обновлений и менее надежна, чем более поздние версии. Мы рекомендуем выполнить обновление до последней версии скрипта certbot-auto или использовать собственные пакеты ОС.

(хотя было бы полезнее подчеркнуть, что он не просто устарел, это не работает)

Эта ветка (https://community.letsencrypt.org/t/message-about-out-of-date-software/16425) означает, что процесс автопродления необходимо заменить Certbot (https://certbot.eff.org/#ubuntutrusty-nginx). Мне удалось сбросить это на свой сервер и сгенерировать новые сертификаты (инструкции были для меня немного высокоуровневыми, но я почти справился - хотя вместо того, чтобы сохранять сертификаты в тех же каталогах, он создал новые с '0001' добавлено, что означает, что мне также пришлось обновить всю мою конфигурацию nginx… вздох) - однако я не знаю, как включить это в процесс автоматического обновления, который я настроил с помощью letsencrypt и crontab. Если кто-нибудь может указать на какую-либо документацию о том, как официально переключаться между методами, это было бы здорово - сейчас я установил напоминание, чтобы запустить процесс снова через 5 месяцев ...

Я вижу улучшения в вашем процессе.

Чтобы избежать этой проблемы с заменой сертификата, я использую certonly вариант. Это заставляет certbot поддерживать сертификаты в каталоге (для меня это /etc/letsencrypt).

Я говорю демону http искать сертификаты в /etc/letsencrypt/live/${site}/fullchain.pem и ключи в /etc/letsencrypt/live/${site}/privkey.pem, которые являются символическими ссылками, которые обновляющий обновляет. Все, что нужно для завершения обновления, - это перезапустить демон.