[acmesh-official/acme.sh]installcert的疑问,是否有必要使用?

2024-01-05 687 views
1
问题描述

查看wiki,看到nginx安装证书的示例:

acme.sh --installcert -d example.com \
--key-file       /path/to/keyfile/in/nginx/key.pem  \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd     "service nginx force-reload"

如果我不使用--installcert命令安装证书,而是直接在nginx配置文件中指定.acme.sh目录中的证书路径,是不是就不需要reload nginx了?

        ssl_certificate      /root/.acme.sh/liushiming.cn/fullchain.cer;
        ssl_certificate_key  /root/.acme.sh/liushiming.cn/liushiming.cn.key;

回答

1

根据当时的测试, nginx 不会自动加载zh证书文件, 所以需要手动 reload. 我听说新版可能会自动加载新证书文件了. 但是没有验证过. 期待你测试一下, 并报告版本和结果.

退一步讲, 就算 nginx 会自动加载, 那也质是对nginx 有效. installcert 对其他服务来说,依然有必要

2

你好,我简单测了一下应该还是需要reload的。

测试步骤

修改证书文件,特意删掉几行,重新访问网站

预期

网站不能正常访问,https应该失效,因为证书文件改了

实际

在浏览器上访问网站,empty cache and hard reload,网站https能正常访问

结论

还是需要reload nginx的,不然证书文件虽然改了,nginx不会使用新的证书文件

3

谢谢.

8

另外提一点,wiki中的示例可能需要更新一下,现在生成的证书都是cer后缀的,但是示例是pem后缀的,是不是要更新一下?

Apache example:
acme.sh --installcert -d example.com \
--cert-file      /path/to/certfile/in/apache/cert.pem  \
--key-file       /path/to/keyfile/in/apache/key.pem  \
--fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \
--reloadcmd     "service apache2 force-reload"
Nginx example:
acme.sh --installcert -d example.com \
--key-file       /path/to/keyfile/in/nginx/key.pem  \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd     "service nginx force-reload"

我为域名liushiming.cn生成的泛域名证书有一堆文件,我都不是太清楚都是什么文件,能不能也在wiki中介绍一下

ca.cer  fullchain.cer  liushiming.cn.cer  liushiming.cn.conf  liushiming.cn.csr  liushiming.cn.csr.conf  liushiming.cn.key
1

不需要, 这不是一回事.