如何为我的 Postfix 邮件服务器正确颁发 Let's Encrypt 证书?目前我有一个自签名证书,但我收到这些消息,说它不可信任。
我执行了 certbot --nginx certonly -d mail.example.org 并且显然它是自签名的。
答案1
Dan 是正确的 - 该--certonly
选项告诉 certbot 获取证书但不执行任何操作。脚本将告诉您该证书现在在哪里,最有可能是名为、、和 的/etc/letsencrypt/live/mail.example.org
文件。您将进入 Postfix 的配置,并更改证书路径以指向这些文件。完成此操作后,当然,您将重新启动 Postfix。cert.pem
chain.pem
fullchain.pem
privkey.pem
答案2
让我们加密,自 Certbot 2.0 起,默认颁发 ECC 证书。一些发送邮件系统尚不支持这些证书,而仅支持 RSA 证书。因此,正确发行Postfix 邮件服务器的证书,您需要两组证书+密钥文件:
smtpd_tls_chain_files =
/etc/letsencrypt/live/mail.example.com-ecdsa/privkey.pem,
/etc/letsencrypt/live/mail.example.com-ecdsa/fullchain.pem,
/etc/letsencrypt/live/mail.example.com-rsa/privkey.pem,
/etc/letsencrypt/live/mail.example.com-rsa/fullchain.pem
您可以通过注释掉key-type
来获取它们/etc/letsencrypt/cli.ini
,然后使用--key-type
命令行 中的选项颁发证书。这部分至关重要,因为 中的设置cli.ini
将覆盖 中的设置/etc/letsencrypt/renewal/*.conf
,这将在下一次自动续订时破坏一切。例如,
sudo certbot certonly \
--cert-name mail.example.com-ecdsa \
-d mail.example.com \
--key-type ecdsa
sudo certbot certonly \
--cert-name mail.example.com-rsa \
-d mail.example.com \
--key-type rsa