Сертификат для моего экземпляра Discourse истёк сегодня, и в браузере отображается ошибка. Я попытался вручную выполнить обновление согласно инструкции:
Система показала, что сертификат обновлён: я вижу его в папке /shared/letsencrypt, и обновление прошло успешно. Я перезапустил nginx внутри Docker. Даже после пересборки экземпляра кажется, что отправляется старый сертификат.
Я проверил домен через несколько сервисов, и все они сообщают, что сертификат истёк, так что проблема не только локальная.
После нескольких часов попыток, и сразу после того, как я опубликовал это, я понял, что поскольку я использую развёртывание с несколькими сайтами и обратный прокси-сервер nginx, мне также нужно было перезапустить внешний сервер nginx, и всё сразу заработало.
Я отмечу это как ответ, на случай, если кто-то столкнётся с такой же ситуацией.
Вы нашли корневую причину того, почему сертификат не обновлялся автоматически?
На сайте я заметил, что это связано с тем, что он не находится в режиме production, поэтому все электронные письма приостановлены, включая те, которые должны обновлять сертификат.
Причина приостановки писем заключается в том, что это часть процесса восстановления базы данных; в данном конкретном случае она была восстановлена из другого экземпляра Discourse.
Письма отключены, чтобы два сайта не отправляли одни и те же сообщения.
единственный способ, которым электронная почта участвует в процессе вообще, — это то, что LE может отправить вам предупреждение, если ваш сертификат истекает и вы его не продлили
Обычно это происходит из-за нестандартных настроек, которые неожиданно нарушают процесс. Я бы предложил открыть новую тему, указав свои данные и описание выполненных действий.