mailcow使用自己的SSL证书(二)
mailcow使用自己的SSL证书(二)
0条评论
本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme这是mailcow自建邮局系列的第二篇教程,对自建邮局感兴趣的朋友可以参考我的上一篇文章《 使用Docker部署mailcow,自建邮局服务 》,出于网络传输安全考虑,有必要对邮局启用加密,这时候就需要用到SSL证书。
mailcow自动申请SSL证书
mailcow部署完毕后会自动使用申请SSL证书,但前提是您使用的默认WEB端口(Let’s Encrypt验证需要),如果非默认端口,则无法申请。也或者其它原因(如网络原因)可能导致申请失败。
由于xiaoz并未使用默认的80端口,因此就无法使用mailcow的自动SSL证书申请,我们也可以自行申请SSL证书后部署到mailcow,这样更加靠谱。
申请SSL证书
上一篇文章提到,如果您主机名设置为
mail.domain.com
,那么去申请SSL证书的时候也需要用这个域名(注意是二级域名,不是顶级域名),申请SSL证书这篇文章不做详细介绍。目前腾讯云、阿里云均提供免费的DV SSL证书,可以参考:
使用自己的SSL证书
xiaoz使用的是腾讯云免费SSL证书,申请完毕后下载Nginx的格式保存到本地。里面应该有4个文件,不过我们只会用到和这两个后缀结尾的文件。
然后将后缀的文件命名为,将后缀的文件命名为并上传到mailcow目录下的
data/assets/ssl
目录进行替换。
注意:替换前可以将原来的文件备份,另外不要使用软连接。
然后修改
mailcown.conf
这个配置文件,将:
SKIP_LETS_ENCRYPT=n
修改为
SKIP_LETS_ENCRYPT=y
最后重启受影响的3个容器:
docker restart $(docker ps -qaf name=postfix-mailcow)
docker restart $(docker ps -qaf name=nginx-mailcow)
docker restart $(docker ps -qaf name=dovecot-mailcow)
验证
输入下面的命令查看和验证SSL证书是否有效:
# 验证SMTP TLS端口
echo "Q" | openssl s_client -starttls smtp -crlf -connect mail.domain.com:587
#验证IMAP端口
echo "Q" | openssl s_client -starttls imap -showcerts -connect mail.domain.com:143
#验证HTTPS
echo "Q" | openssl s_client -connect mail.domain.com:443
注意:
请将
mail.domain.com
改成你自己的域名。
本文地址: https://www.q16k.com/article/3f177751f0918b234423.html