我有一个使用 Webmin/Virtualmin 的专用服务器。 SSL 通过 Let's Encrypt 完成,并通过 CRON 作业更新。当我打开 VirtualMin 时,我总是看到一条消息说
某些虚拟服务器的 SSL 证书已过期
当我查看细节时,我发现“到期日期= 2021 年 2 月 3 日 18:34:14 GMT“这是错误的。续订已正确完成,网站正在 https 中运行,Firefox 告诉我证书将于 2021 年 6 月 10 日到期(这是正确的信息)。
即使只是一条消息,拥有正确的信息会更好。我尝试刷新 Virtualmin,但没有成功。任何想法?
答案1
首先非常感谢杰夫!我还没有找到如何解决,但我明白发生了什么。
Virtualmin 希望将证书放置在虚拟服务器的“home”文件夹中。因此,如果我的虚拟服务器名称是“my_server”,Virtualmin 会搜索 home/my_server/ 中的文件。事实上,在这个位置,我有证书文件(ssl.cert、ssl.key...),但它们是旧的(从二月份开始)。
但是当更新发生时,Let's Encrypt 将文件放在他自己的目录中,位于“etc/letsencrypt/live/domaine_name/”
我不知道二月份的位置是否已更改,或者符号链接是否已损坏。但是,当我使用浏览器访问我的网站时,Apache 使用 etc/letsencrypt/live/domaine_name/ 中的密钥,而 Virtualmin 继续在虚拟服务器文件夹中搜索文件,他在其中找到了旧密钥。
以下是一些细节: https://github.com/virtualmin/virtualmin-gpl/issues/20
编辑:我已经制作了这样的符号链接:
ln -s /etc/letsencrypt/live/my_domaine/cert.pem ssl.cert
ln -s /etc/letsencrypt/live/my_domaine/cert.pem ssl.combined
ln -s /etc/letsencrypt/live/my_domaine/privkey.pem ssl.key
ln -s /etc/letsencrypt/live/my_domaine/chain.pem ssl.ca
ln -s /etc/letsencrypt/live/my_domaine/fullchain.pem ssl.everything
现在似乎没问题了。