Сертификат Let's Encrypt не был автоматически продлен

Здравствуйте,

Я искал информацию по этому вопросу, но, насколько я понимаю, поскольку я использовал стандартный способ получения сертификата Let’s Encrypt в Discourse, он должен обновляться автоматически. Однако этого не произошло (см. изображение ниже).

После поиска на этом форуме я установил certbot через SSH, но при вводе команды “certbot certificates” он даже не находит истёкший сертификат, поэтому “certbot renew” ничего не делает.

Не упускаю ли я что-то? Что именно нужно сделать для обновления моего сертификата на моей установке Discourse?

Пожалуйста, дайте знать. Спасибо!

Возможно, это связано? Letsencrypt certificate failure to renew

Спасибо вам за это. :slight_smile: Похоже, что рекомендуемое там решение — пересобрать приложение и подождать. Я как раз сегодня утром пересобрал приложение в качестве общей профилактической меры. Если это действительно решение, возможно, всё исправится позже сегодня?

Оно всё ещё отображается как истёкшее…

Какую версию Linux вы используете?

Вы также выполнили apt-get update / upgrade?

Похоже, это Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-159-generic x86_64).

Да, я выполнил команды apt-get update и apt-get upgrade, а затем перезагрузил сервер.

Я надеялся, что какое-либо обновление решит проблему…

Я только что проверил ваш сертификат. Он действителен.

Спасибо, Гэвин. Для меня в Chrome он отображается как действительный, но при нажатии на саму информацию о сертификате он показывается как истекший. (см. приложенный скриншот)

Вы видите новую, действительную дату истечения срока?


у меня всё выглядит хорошо.

новая дата и всё остальное

Ага, хорошо. В Chrome с валидной датой всё ещё не отображается, даже после очистки кэша браузера, но я только что проверил в Safari и вижу новую валидную дату.

Так что,看来, решение было в пересборке приложения, и, надеюсь, в Chrome это просто проблема с кэшем.

Спасибо, что проверили это для меня. :slight_smile:

без проблем. в любое время :slight_smile:

Я считаю, что так и есть. Иногда бывает сложно заставить <некоторые браузеры> отображать правильный сертификат (и это всё, что я знаю).

Я сталкивался с несколькими случаями, когда требовалось очистить кэш и перезапустить Chrome, чтобы появилось валидное сертификат.

Некоторые браузеры хранят в кэше цепочку доверия, включающую старый X1-сертификат, который LetsEncrypt больше не выдаёт. Когда они доходят до этого старого сертификата и обнаруживают, что он истёк, они «застревают». :face_with_raised_eyebrow:
Проблема в следующем: обновлённые браузеры довольны новой, более короткой цепочкой доверия, тогда как старые браузеры всё ещё требуют более длинную цепочку. Всё сводится к обновлению всего для повышения безопасности.

Один из способов обновить ваш сервер с помощью acme.sh v3.0.1+, чтобы использовать предпочтительную цепочку доверия, следующий:

Предпочтительная цепочка · acmesh-official/acme.sh Wiki · GitHub

Установите более короткую цепочку ISRG как предпочтительную на уровне всей системы по умолчанию для letsencrypt, а затем обновите все сертификаты:

acme.sh --upgrade
acme.sh --set-default-chain --preferred-chain "ISRG" --server  letsencrypt
acme.sh --renewAll --force

На самом деле это один из очень немногих случаев, когда флаг --force уместен.
Однако будьте осторожны: старые браузеры могут отвергнуть более короткую цепочку доверия и настоять на получении сертификата. Его также можно загрузить как альтернативную цепочку доверия. Я считаю, что Lets Encrypt предоставляет ссылку специально для этой цели. Я зайду туда, получу её и опубликую здесь.

Принято, JimPas. Спасибо. Даже после очистки кэша в Chrome и перезапуска браузера я всё ещё вижу старый сертификат. (Но в других браузерах я вижу, что сертификат обновлён.)

Пожалуйста, дайте знать, если вам удастся найти альтернативную цепочку доверия.

Спасибо за вашу помощь!

Вы обновили браузер Chrome?

Введите в адресной строке chrome://settings/help

Извините за задержку — вчера вечером случилось небольшое происшествие. Вот ссылки для загрузки сертификатов X1 и X2, а также промежуточного корневого сертификата.

Корневые сертификаты LE (формат PEM):

ISRG Root X1
https://letsencrypt.org/certs/isrgrootx1.pem
ISRG Root X2
https://letsencrypt.org/certs/isrg-root-x2.pem

Промежуточный сертификат (формат PEM):

Let’s Encrypt R3
https://letsencrypt.org/certs/lets-encrypt-r3.pem