Мой форум показывает «Privacy Error» после обновления SSL-сертификата

Привет,

Ранее я устанавливал бесплатный SSL-сертификат от https://zerossl.com на своём форуме ask.mybloggertricks.com, используя PUTTY. Однако при попытке обновить его тем же процессом, сколько бы раз я ни пробовал, я постоянно получаю следующее сообщение об ошибке:

Ваше соединение не защищено

Возможно, злоумышленники пытаются похитить вашу информацию с сайта ask.mybloggertricks.com (например, пароли, сообщения или данные кредитных карт). Узнать больше

NET::ERR_CERT_DATE_INVALID

Я следую точно такому же методу, как описано здесь: https://zerossl.com/free-ssl/#crt

Пожалуйста, помогите мне восстановить работу моего сайта.

Зачем нужен ZeroSSL, если Docker-образ Discourse уже устанавливает и настраивает Let’s Encrypt?

Почему вы не использовали бесплатный автоматический сертификат от Let’s Encrypt?

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

Я установил его вручную, так как на тот момент встроенная поддержка Let’s Encrypt была недоступна. Позвольте мне попробовать еще раз и обратиться за помощью. Я проверю дату, в которой я на 100% уверен, что она верна, но все же попробую еще раз.

Привет! Я только что перезагрузил файлы domain.crt и domain.key в cd/var/discourse/shared/standalone/ssl, но получаю ту же ошибку: сертификат считается просроченным, и система указывает на Let’s Encrypt Authority X3, хотя мой сертификат выдан через https://zerossl.com/free-ssl/#crt.

Может ли кто-нибудь подробно помочь с решением?

Это ожидаемо — zerossl.com не выдаёт сертификаты напрямую; это просто веб-интерфейс для Let’s Encrypt.

Я не знаю, что именно и куда вы загрузили, но ваш сайт всё ещё обслуживает старый сертификат — он истёк 17 апреля. С тех пор вы выпустили ещё пять сертификатов (подробности здесь), последний — сегодня, но ваш сайт по-прежнему использует сертификат, выпущенный 17 января (истёкший 17 апреля). Это лишь одна из многих причин, по которым стоит использовать автоматизированную систему для получения сертификатов от Let’s Encrypt, и именно это вам следует сделать в данном случае. Вот хорошее место для начала:

После изменения файлов вы перезапустили контейнер Discourse? (или хотя бы перезагрузили nginx в контейнере)

Встроенные сертификаты доступны для любой текущей установки.

Обновил, и файлы отображаются как domain.crt и domain.key в папке shared/standalone/ssl. Но это не помогло.

Обновление выполнил следующей командой:

cd /var/discourse
git pull
./launcher rebuild app

Была ли какая-то документация, которая указывала, что эти файлы должны находиться именно здесь? Вы можете использовать команду openssl, чтобы просмотреть детали сертификата и убедиться, что они верны — выполните openssl x509 -in domain.crt -text -noout. Какой вывод у этой команды?