You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DirectAdmin中用Let’s Encrypt配置mail.domain.com Dovecot证书,仅获letsencrypt.key怎么办

在DirectAdmin中用Let’s Encrypt配置Dovecot保护mail.domain.com的完整方案

嘿,我来帮你搞定这两个问题——刚好我之前在DirectAdmin上折腾过类似的SSL配置,给你一步步捋清楚:

一、常规流程:给mail.domain.com配置Let’s Encrypt证书并对接Dovecot

1. 在DirectAdmin中生成mail.domain.com的Let’s Encrypt证书

  • 登录你的DirectAdmin面板,找到SSL Certificates(或者部分版本叫Let’s Encrypt)选项
  • 选择为mail.domain.com申请证书,注意要确保这个子域名被勾选(很多时候DirectAdmin会自动把mail、ftp这类常用子域名加入申请列表,别漏了)
  • 点击申请后等待系统生成证书。生成成功后,证书文件会存两个位置:
    • 标准Let’s Encrypt目录:/etc/letsencrypt/live/mail.domain.com/,里面包含fullchain.pem(证书+中间链)、privkey.pem(私钥)、cert.pem(单证书)
    • DirectAdmin用户专属目录:/usr/local/directadmin/data/users/[你的用户名]/domains/domain.com/ssl/,这里会存一份备份,比如letsencrypt.crt和letsencrypt.key

2. 配置Dovecot使用证书

  • 打开Dovecot的SSL配置文件,一般是/etc/dovecot/conf.d/10-ssl.conf(找不到的话就找主配置/etc/dovecot/dovecot.conf)
  • 找到ssl_cert和ssl_key这两行,替换成:
    ssl_cert = </etc/letsencrypt/live/mail.domain.com/fullchain.pem
    ssl_key = </etc/letsencrypt/live/mail.domain.com/privkey.pem
    
  • 保存文件后,重启Dovecot服务:
    # Systemd系统用这个
    systemctl restart dovecot
    # 老版本SysVinit系统用这个
    service dovecot restart
    
  • 验证配置:执行openssl s_client -connect mail.domain.com:993命令,查看输出里的证书信息是否正确,有没有报错

二、解决你遇到的特殊情况:只有letsencrypt.key,找不到fullchain.pem和privkey.pem

你说的letsencrypt.key其实就是私钥文件,只是命名不一样而已,不用慌,按下面的步骤来:

1. 先找到完整的证书文件

  • 先去DirectAdmin的用户SSL目录查找:/usr/local/directadmin/data/users/[你的用户名]/domains/domain.com/ssl/,这里应该有letsencrypt.crt(证书文件)和letsencrypt.key(私钥文件)
  • 如果标准Let’s Encrypt目录里没有fullchain.pem,可以手动生成:把letsencrypt.crt和Let’s Encrypt的中间证书内容合并成一个文件。中间证书文本内容可以直接获取(搜"Let’s Encrypt Authority X3"即可找到),追加到letsencrypt.crt末尾后保存为fullchain.pem

2. 修改Dovecot配置

  • 要是不想折腾生成fullchain,也可以直接用DirectAdmin目录里的文件:
    ssl_cert = </usr/local/directadmin/data/users/[你的用户名]/domains/domain.com/ssl/letsencrypt.crt
    ssl_key = </usr/local/directadmin/data/users/[你的用户名]/domains/domain.com/ssl/letsencrypt.key
    
  • 保存后重启Dovecot,同样用openssl命令验证是否生效

3. 额外排查:如果还是找不到证书

  • 检查DirectAdmin的Let’s Encrypt申请日志,看看是不是申请过程中出错,导致没有生成完整的证书链
  • 可以尝试重新申请一次证书,确保申请时勾选了mail.domain.com子域名

内容的提问来源于stack exchange,提问作者ToiletGuy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:43:32