是否可以在不重新启动的情况下为 Apache 和电子邮件服务续订证书?

Hug*_*eca 2 apache email dovecot lets-encrypt

我正在为我的域部署新证书以用于 Web 和电子邮件服务。为此,我使用了 Certbot,这是一个创建和更新 Let's Encrypt 证书的程序。

我见过的每个教程都需要重新启动 web (apache) 或电子邮件服务 (dovecot)。

有谁知道如何为 apache 或 dovecot 部署新证书并开始使用它而不重新启动它?

Ian*_*ake 6

certbot 文档描述了一种无需重新启动网络服务器即可使用 webroot 插件获取证书的方法:https : //certbot.eff.org/docs/using.html#webroot

总之,你需要一些额外的参数传递给你的续约certbot命令:certonly--webroot,和--webroot-path-w。所以完整的命令看起来像这样:

certbot renew certonly --webroot -w /var/www/example/ -d www.example.com
Run Code Online (Sandbox Code Playgroud)

根据文档:

webroot 插件的工作原理是在 ${webroot-path}/.well-known/acme-challenge 中为每个请求的域创建一个临时文件。然后让我们加密验证服务器发出 HTTP 请求,以验证每个请求域的 DNS 是否解析为运行 certbot 的服务器。

这允许 Let's Encrypt 在不停止 Apache 绑定到端口 80、443 等的情况下执行域验证。