阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

mailcow使用自己的SSL证书(二)

34次阅读
没有评论

共计 1303 个字符,预计需要花费 4 分钟才能阅读完成。




本站提供 Linux 服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme

这是 mailcow 自建邮局系列的第二篇教程,对自建邮局感兴趣的朋友可以参考我的上一篇文章《使用 Docker 部署 mailcow,自建邮局服务 》,出于网络传输安全考虑,有必要对邮局启用TLS/SSL 加密,这时候就需要用到 SSL 证书。

mailcow 自动申请 SSL 证书

mailcow 部署完毕后会自动使用 ACME 申请 SSL 证书,但前提是您使用的默认 WEB 端口80(Let’s Encrypt 验证需要),如果非默认端口,则无法申请。也或者其它原因(如网络原因)可能导致申请失败。

由于 xiaoz 并未使用默认的 80 端口,因此就无法使用 mailcow 的自动 SSL 证书申请,我们也可以自行申请 SSL 证书后部署到 mailcow,这样更加靠谱。

申请 SSL 证书

上一篇文章提到,如果您主机名设置为mail.domain.com,那么去申请 SSL 证书的时候也需要用这个域名(注意是二级域名,不是顶级域名),申请 SSL 证书这篇文章不做详细介绍。目前腾讯云、阿里云均提供免费的 DV SSL 证书,可以参考:

使用自己的 SSL 证书

xiaoz 使用的是腾讯云免费 SSL 证书,申请完毕后下载 Nginx 的格式保存到本地。里面应该有 4 个文件,不过我们只会用到 .crt.key这两个后缀结尾的文件。

然后将 .crt 后缀的文件命名为 cert.pem, 将.key 后缀的文件命名为 key.pem 并上传到 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://mailcow.github.io/mailcow-dockerized-docs/post_installation/firststeps-ssl/

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计1303字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中