无法为网站及邮件服务器正常签发Let's Encrypt SSL证书求助
问题解决方案
一、SSL证书显示签发成功但未生效的排查与修复
1. 检查Cloudflare SSL模式配置
Cloudflare的SSL模式直接影响服务器证书是否生效:
- 登录Cloudflare控制台,进入对应域名的「SSL/TLS」→「Overview」页面
- 将模式从「Flexible」改为「Full」或「Full (strict)」(「Full (strict)」要求服务器必须有有效证书,适合确认证书安装正确后使用)
2. 验证服务器实际证书状态
SSH登录服务器后,执行以下命令确认证书是否真的安装到位:
- 检查网站证书:
openssl s_client -connect domain.com:443,查看返回内容中的「Issuer」字段,确认是否为「Let's Encrypt Authority X3」或类似Let's Encrypt签发机构 - 检查邮件服务器证书:
openssl s_client -connect mail.domain.com:465(SMTP SSL端口)或openssl s_client -connect mail.domain.com:993(IMAP SSL端口),同样确认签发机构
3. 重启相关服务加载新证书
证书安装后需重启服务才能生效,执行以下命令:
- 重启OpenLiteSpeed(网站服务):
systemctl restart lsws - 重启Postfix(邮件发送服务):
systemctl restart postfix - 重启Dovecot(邮件接收服务):
systemctl restart dovecot
4. 确认服务配置文件的证书路径
网站服务(OpenLiteSpeed)
进入CyberPanel的「Website → List Websites」,点击对应域名的「Manage」→「SSL」,确认已选中Let's Encrypt证书,同时检查配置文件(路径:/usr/local/lsws/conf/vhosts/[domain.com]/vhconf.conf)中的以下字段是否指向正确的证书文件:
sslCertificate /etc/letsencrypt/live/domain.com/fullchain.pem sslCertificateKey /etc/letsencrypt/live/domain.com/privkey.pem
邮件服务(Postfix + Dovecot)
- 编辑Postfix配置文件
/etc/postfix/main.cf,确认以下字段:smtpd_tls_cert_file = /etc/letsencrypt/live/mail.domain.com/fullchain.pem smtpd_tls_key_file = /etc/letsencrypt/live/mail.domain.com/privkey.pem - 编辑Dovecot配置文件
/etc/dovecot/conf.d/10-ssl.conf,确认以下字段(注意路径前的<符号):ssl_cert = </etc/letsencrypt/live/mail.domain.com/fullchain.pem ssl_key = </etc/letsencrypt/live/mail.domain.com/privkey.pem
修改完成后重新启动对应服务。
5. 处理Let's Encrypt签发次数限制
当前已触发次数限制,可采取以下措施:
- 等待72小时后自动重置限制
- 使用Let's Encrypt staging环境测试签发(无次数限制),命令:
certbot certonly --staging -d mail.domain.com,测试通过后再切换到正式环境签发
二、WP Mail SMTP提示OpenSSL配置错误的修复
Snappymail正常发信说明服务器基础邮件服务无问题,问题出在PHP或WP插件配置:
1. 确认PHP OpenSSL扩展状态
- 查看网站使用的PHP版本(CyberPanel「Website → List Websites」→对应域名的「PHP Version」)
- SSH执行命令:
php -m | grep openssl,如果无输出说明扩展未启用 - 启用方法:进入CyberPanel「PHP → PHP Manager」,找到对应PHP版本,勾选「openssl」扩展并保存,或编辑对应PHP版本的
php.ini文件(如/usr/local/lsws/lsphp74/etc/php.ini),取消;extension=openssl前的注释,重启OpenLiteSpeed服务
2. 修正WP Mail SMTP配置
- 选择「本地邮件服务器」模式:在WP后台的WP Mail SMTP设置中,选择「Sendmail」或「Postfix」选项,而非第三方SMTP转发
- 若使用SMTP模式,设置:
- SMTP主机:
localhost或mail.domain.com - 端口:587(使用STARTTLS加密)
- 加密方式:TLS
- 发件人邮箱:必须是服务器上已创建的邮箱(如
admin@domain.com)
- SMTP主机:
3. 升级OpenSSL版本解决兼容性问题
你的服务器使用的OpenSSL 1.0.2k版本较老,执行以下命令更新到CentOS7支持的最新安全补丁版本:
yum update openssl -y
更新完成后重启所有相关服务(Web、邮件、PHP)
三、额外排查点
1. 防火墙端口开放
确认服务器防火墙(firewalld)和Cloudflare防火墙已开放以下端口:
firewall-cmd --add-port=443/tcp --permanent firewall-cmd --add-port=465/tcp --permanent firewall-cmd --add-port=587/tcp --permanent firewall-cmd --add-port=993/tcp --permanent firewall-cmd --reload
2. SELinux临时排查
CentOS7的SELinux可能阻止服务访问证书或端口,临时关闭测试:
setenforce 0
若问题解决,需配置SELinux规则允许对应操作(如允许Postfix访问Let's Encrypt证书目录),避免永久关闭SELinux。
内容的提问来源于stack exchange,提问作者Julien Cirhuza
相关产品推荐
相关产品推荐

