用 DNS 认证方式申请 Let’s Encrypt 免费证书,绕过备案的 Sh*t

  1. 如果网站没有备案过,通过 http/https 方式向 Let’s Encrypt 申请免费证书,会遇到返回 http 网站返回“没有备案”的问题而导致证书申请失败。
  2. 要申请的证书不是用于 http/https 网站(例如邮件服务器)的,不需要绑定网址到 80/443 端口。
    解决办法:
    # certbot -d domain_name –manual –preferred-challenges dns certonly

不过看教程,貌似 自动续,还不行。回头到期前再看看这个文档

添加 DNS 记录的步骤比较简单, 去 GoDaddy.com 上,添加下面的 TXT 记录就可以。

证书申请成功后, 去 Dovecot 的配置文件把原来的证书路径修改一下:
ssl_cert = </etc/letsencrypt/live/mail.freelamp.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.freelamp.com/privkey.pem
# systemctl restart dovecot

postfix 的配置文件 /etc/postfix/main.cf 也要做同样的更改:

smtpd_tls_cert_file = /etc/letsencrypt/live/mail.freelamp.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.freelamp.com/privkey.pem
# postfix reload

有了正式的证书后, Linux 客户端的 ssmtp 用认证的用户发送邮件就顺理成章了。

作者: 甬洁网络

--移动互联网&物联网技术提供商