Discourse недоступен — проблема с SSL

Привет!

Форум находится здесь: https://forum.survivingeconomicabuse.org/

Мне сообщили, что теперь он недоступен из-за истечения срока действия SSL-сертификата.

Я настраивал сайт прошлым летом, и форум был защищён, но, очевидно, сертификат не удалось продлить (полагаю). Я просмотрел различные темы о том, как принудительно обновить сертификат и т. д., но ничего не помогло. Также было предложение удалить существующие сертификаты и заново собрать приложение, но это тоже не сработало.

Не могли бы вы дать мне какие-то советы по этому поводу? Я неплохо разбираюсь в командной строке, но отнюдь не эксперт.

Спасибо!

Вам необходимо выполнить пересборку.

  cd /var/discourse
 ./launcher rebuild app

Я пробовал пересобирать несколько раз без успеха, но попробую ещё раз на всякий случай.

К сожалению, я попробовал пересобрать проект, но сайт остался прежним.

Сначала выполните следующее

apt-get update
apt-get upgrade

Интересно, у меня теперь отображается страница по умолчанию Apache по адресу http://? Это странно, не так ли?

Нет, это не так. Ваш SSL-сертификат истёк, поэтому вы можете просматривать сайт по протоколу http.

Это говорит о том, что на вашем сервере запущен Apache, и его следует удалить или отключить. А если вы уже несколько раз выполняли пересборку, вы, вероятно, попали под ограничение скорости и не сможете получить новый сертификат в течение недели.

Поправьте меня, если я ошибаюсь: вы также можете проверить файл /var/discourse/shared/standalone/letsencrypt/acme.sh.log на наличие ошибок.

Я удалил Apache, но по-прежнему не могу получить доступ к форуму.

Есть ли что-то еще, что я могу сделать на данном этапе, чтобы полностью понять проблему?

При попытке выполнить это я получаю ошибку «отказано в доступе»…

Насколько мне известно, по умолчанию Discourse не работает без HTTPS.

Однако, возможно, вы можете попробовать закомментировать эти строки (добавив # в /var/discourse/containers/app.yml) и пересобрать приложение?

#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"

Вы вошли в систему как root на вашем сервере? Как вы подключаетесь к нему?

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

Я вошел как root на DigitalOcean

Если на вашем сервере нет других приложений, вы можете просто отформатировать его или сбросить, чтобы получить чистую систему, и переустановить Discourse (предварительно скачайте свои резервные копии!), а затем восстановить резервную копию Discourse.

Но, как говорит Джей,


Тем не менее, у меня возникает вопрос. В данном случае, если закомментировать строки SSL в app.yml, будет ли форум работать по HTTP? А через неделю мы могли бы раскомментировать строку, выполнить пересборку и получить рабочий сертификат?

Что происходит, когда вы пытаетесь?

Вы пробовали выполнить

./launcher start app

Но, вероятно, вам нужно

  ./launcher rebuild app

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

Вы можете посмотреть

  tail  /var/discourse/shared/standalone/logs/var-log/nginx/error.log

чтобы увидеть ошибки nginx.

start app = “Ничего не требуется, ваш контейнер уже запущен”

Недавно я выполнил пересборку, не внося дополнительных изменений.

Я выполнил: ls -l /var/discourse/shared/standalone/ssl

И, похоже, у меня появились новые сертификаты?

tail /var/discourse/shared/standalone/logs/var-log/nginx/error.log

выдает ошибку «файл или каталог не найден»?

Попробуйте использовать sudo:
sudo nano /var/discourse/shared/standalone/letsencrypt/acme.sh.log

@stuartleech Я вижу, что ваша проблема всё ещё не решена. Чем я могу помочь?

Извините, должно было быть так:

root@forum:~# tail  /var/discourse/shared/standalone/log/var-log/nginx/error.log
2022/02/04 17:04:01 [emerg] 19332#19332: cannot load certificate "/shared/ssl/forum.survivingeconomicabuse.org.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)

Я работаю над этим, но проблемы с SSL всё ещё сохраняются. Не могу понять, заблокирован ли IP из-за превышения лимита запросов или есть какая-то проблема с сетью или фаерволом, которую я не вижу.

Кстати, это помогло мне решить проблему с SSL. Спасибо!