我负责运营朋友的网站。它使用一个免费工具,称为 T,它为我做了很多配置工作。例如,nginx 配置由 T 管理。对于 SSL 业务也是如此,Let's Encrypt 证书由它管理。它有一堆 cron 作业,包括一个用于更新证书的作业。所以我有点把自己的灵魂卖给了魔鬼 ) 然后一切都崩溃了。
它向浏览器提供的证书是不早于10 月 27 日(18),以及不晚于1 月 25 日 (19)。浏览由 T 管理的配置文件夹时,我注意到了这一点:
-rw-r----- 1 root admin 1887 Oct 27 04:43 <domain>.nginx.conf~
-rw-r--r-- 1 root root 3247 Oct 27 05:25 <domain>.key
-rw-r--r-- 1 root root 1777 Oct 27 05:25 <domain>.csr
-rw-r--r-- 1 root root 2053 Oct 27 05:25 <domain>.crt
-rw-r--r-- 1 root root 4361 Oct 27 05:33 webalizer.<domain>.conf
-rw-r----- 1 root admin 2030 Nov 17 17:37 <domain>.nginx.conf
-rw-r----- 1 root root 3243 Jan 25 16:34 ssl.<domain>.key
-rw-r----- 1 root root 2248 Jan 25 16:34 ssl.<domain>.crt
-rw-r----- 1 root root 3896 Jan 25 16:34 ssl.<domain>.pem
-rw-r----- 1 root root 1647 Jan 25 16:34 ssl.<domain>.ca
drwxr-x--x 3 root root 4096 Jan 25 16:34 .
-rw-r----- 1 root admin 2036 Jan 25 16:34 <domain>.nginx.ssl.conf
T 有一个用于更新 SSL 证书的脚本,当我尝试修复这种情况时,我手动运行了该脚本 - 但它无论如何都在 cron 上运行,所以显然这不是问题所在。但后来我注意到时间:ssl..key/pem/crt 文件每天都在更新;相同扩展名的 .* 文件停留在创建现已过期的证书的日期。
由于 nginx.conf 文件一直以来也由 T 管理,因此我显然在这方面缺乏很多知识。我在 .nginx.conf 中看到以下几行:
ssl_certificate /home/admin/conf/web/ssl.credo.press.pem;
ssl_certificate_key /home/admin/conf/web/ssl.credo.press.key;
好的,看起来它正在使用已正确更新的公钥/私钥 SSL 密钥。但浏览器看到的证书已过期,所以有些不对劲。有什么想法吗?