如何为我的 Postfix 邮件服务器正确颁发 Let's Encrypt 证书?现在我有一个自签名证书,我收到这些消息,它不可信。
我做了 certbot --nginx certonly -d mail.example.org ,显然它是自签名的。
如何为我的 Postfix 邮件服务器正确颁发 Let's Encrypt 证书?现在我有一个自签名证书,我收到这些消息,它不可信。
我做了 certbot --nginx certonly -d mail.example.org ,显然它是自签名的。
Dan 是正确的 - 该
--certonly
选项告诉 certbot 获取证书但不对其执行任何操作。该脚本将告诉您该证书现在的位置,很可能/etc/letsencrypt/live/mail.example.org
是名为cert.pem
、chain.pem
、fullchain.pem
和 的文件privkey.pem
。您将进入 Postfix 的配置,并更改证书路径以指向这些文件。当然,完成此操作后,您将重新启动 Postfix。如果我没记错的话,我相信您可以运行 Certbot 来自行获取 SSL 证书,而无需配置 Apache 虚拟主机文件。然后,您将 Postfix SSL 配置指向 Certbot 保存证书文件的目录。
Let's Encrypt从 Certbot 2.0 开始默认颁发 ECC 证书。一些发送邮件系统尚不支持这些,而仅支持 RSA 证书。因此,要正确为 Postfix 邮件服务器颁发证书,您需要两组证书+密钥文件:
您可以通过注释掉
key-type
它们/etc/letsencrypt/cli.ini
,然后使用--key-type
命令行中的选项颁发证书来获取它们。这部分至关重要,因为 中的设置cli.ini
将覆盖 中的设置/etc/letsencrypt/renewal/*.conf
,这将在下次自动续订时破坏内容。例如,更详细的答案:https://serverfault.com/a/1151326/274176