Не удалось обновить сертификат Let's Encrypt

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

Сегодня истёк срок действия сертификата моей установки Discourse.

Я попытался продлить его, выполнив следующие команды:

ssh root@your.discourse.server
cd /var/discourse/shared/standalone
cp -r ssl ssl_backup
rm ssl/*
cd /var/discourse
./launcher rebuild app

После выполнения я вижу, что в директории /var/discourse/shared/standalone/ssl появились новые файлы, однако этот новый сертификат не загружается веб-сайтом.

Есть ли какие-либо идеи, как решить эту проблему?

Эти шаги обычно не требуются — скрипт сборки сам обновит ваш сертификат по мере необходимости.
Мне интересно, не влияет ли удаление содержимого директории на процесс сборки?

Вы пытаетесь использовать собственный сертификат вместо того, который предоставляется Let’s Encrypt?

Следовали ли вы инструкции по адресу Allow SSL / HTTPS for your Discourse Docker setup (которая больше не рекомендуется) или выполнили стандартную установку?

Используете ли вы Cloudflare или что-то ещё, что может мешать обновлению сертификата?

Это сертификат, выданный Let’s Encrypt, Cloudflare здесь ни при чём.

Вам нужно зайти в контейнер (./launcher enter app) и попробовать запустить команду вручную.

cd /root/acme.sh && LE_WORKING_DIR="${LETSENCRYPT_DIR}" ./acme.sh --upgrade --auto-upgrade

Вы можете попробовать это сделать.

Что-то не так с вашим DNS? Общепринято считать, что проблема всегда в DNS. Какое у вас имя хоста?

У меня была точно такая же проблема несколько месяцев назад. Я перепробовал всё, что нашёл в Meta, но в конце концов простое перезапуск сервера решило проблему для меня.

Я сделал следующее :slight_smile:

  • Перезагрузка сервера: изменений нет
  • root@VM-Discourse-01-app:/var/www/discourse# cd /root/acme.sh && LE_WORKING_DIR=“${LETSENCRYPT_DIR}” ./acme.sh --upgrade --auto-upgrade
    [Вт 06 фев 2024 06:53:56 UTC] Уже обновлено!
    [Вт 06 фев 2024 06:53:56 UTC] Обновление успешно!

Однако при запуске Discourse я вижу в URL, что сертификат не установлен.

Наконец-то всё работает. Проблема была в том, что порт 80 в моём окружении Azure был закрыт, поэтому проверка при генерации сертификата не проходила… Спасибо за помощь.