Выполняю ручную пересборку из командной строки, так как, похоже, сертификаты снова истекли.
Делюсь этим на случай, если кто-то ещё сталкивается с этой проблемой.
Выполняю ручную пересборку из командной строки, так как, похоже, сертификаты снова истекли.
Делюсь этим на случай, если кто-то ещё сталкивается с этой проблемой.
Это больше не должно повторяться. В декабре было внесено исправление:
У меня истёк сертификат на одном из двух форумов. На другом всё было в порядке. Единственное различие, которое я могу выделить, заключается в том, что проблемный форум прошёл обновление через веб-интерфейс, тогда как на рабочем форуме обновление через веб-интерфейс застопорилось, и я решил восстановить его, выполнив обновление через CLI.
Предыдущая версия: 2025.12.0-latest (b10ea7929f), как указано 28 ноября.
23 декабря я применил патч к скрипту nginx на форуме, что позже оказалось неудачным. Однако я не перезапускал и не отправлял сигнал nginx, так что, возможно, это было бессмысленно. На форуме, который позже не сломался, я ничего не делал.
Возможно, я сам его сломал, а не исправил. Но вот транскрипт:
root@ubuntu-4gb-hel1-1-app:/# docker exec -it app bash
root@ubuntu-4gb-hel1-1-app:/# sed -i '/301/s/;/$request_uri;/' /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
root@ubuntu-4gb-hel1-1-app:/# cat /etc/nginx/conf.d/outlets/beforeserver/20-redirect-http-to-https.conf
server {
listen 80;
listen [::]:80;
location ~ /.well-known {
root /var/www/discourse/public;
allow all;
}
return 301 https://forum.example.com$request_uri;
}
1 января я обновил оба форума: один через веб-интерфейс, другой через CLI.
19 или, возможно, 20 января на проблемном форуме истёк сертификат, и форум стал недоступен через веб.
Когда я это заметил, я перезагрузил хост — больше ничего не делал — и появился новый сертификат:
Выдан во вторник, 20 января 2026 года в 12:04:25
Очень-очень странно, но кажется, что файл, который я патчил, был откатан к непатченому состоянию во время перезагрузки, хотя этот сервер — оба сервера — были обновлены. Я хотел бы понять, как это произошло.
root@ubuntu-4gb-hel1-1:~# docker exec -it app bash
root@ubuntu-4gb-hel1-1-app:/# ls -l /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
-rw-r--r-- 1 root root 173 Jan 20 13:05 /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
root@ubuntu-4gb-hel1-1-app:/# cat /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
server {
listen 80;
listen [::]:80;
location ~ /.well-known {
root /var/www/discourse/public;
allow all;
}
return 301 https://forum.techshedfrome.org;
}
Для полноты картины, рабочий сервер выглядит так:
root@rc-debian-hel:~# docker exec -it app bash
root@rc-debian-hel-app:/# ls -l /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
-rw-r--r-- 1 root root 185 Jan 1 19:57 /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
root@rc-debian-hel-app:/# cat /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf
server {
listen 80;
listen [::]:80;
location ~ /.well-known {
root /var/www/discourse/public;
allow all;
}
return 301 https://retrocomputingforum.com$request_uri;
}
Этот рабочий сайт, похоже, получил новый сертификат при пересборке или перезагрузке:
Выдан в четверг, 1 января 2026 года в 18:59:22
Истекает в среду, 1 апреля 2026 года в 19:59:21
Оба сейчас работают:
Discourse 2026.01.0-latest - https://github.com/discourse/discourse version a9008966f0b339b5a00c1629bc61eb2ff8ad812a