正在从命令行进行手动重建,因为证书似乎又过期了。
分享给可能遇到此问题的其他人。
正在从命令行进行手动重建,因为证书似乎又过期了。
分享给可能遇到此问题的其他人。
不应该再发生这种情况了。十二月份有一个修复:
其中一个论坛的证书过期了,另一个则没问题。我能确定的主要区别是,出问题的论坛是通过 Web 更新的,而没问题的论坛在 Web 更新时停滞了,我选择通过 CLI(命令行界面)更新来恢复。
先前版本:2025.12.0-latest (b10ea7929f),如 11 月 28 日所述。
12 月 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/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.example.com$request_uri;
}
1 月 1 日,我更新了两个论坛,一个通过 Web,另一个通过 CLI。
1 月 19 日或可能是 20 日,出问题的论坛的证书过期了,Web 无法访问该论坛。
当我注意到时,我重启了主机——没有做任何其他操作——然后出现了一个新证书:
签发于 2026 年 1 月 20 日星期二 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;
}
运行正常的站点似乎在重建或重启时获得了新证书:
签发于 2026 年 1 月 1 日星期四 18:59:22
到期于 2026 年 4 月 1 日星期三 19:59:21
现在两者都在运行
Discourse 2026.01.0-latest - https://github.com/discourse/discourse version a9008966f0b339b5a00c1629bc61eb2ff8ad812a