常见问题排查 (FAQ)

常见问题 15分钟阅读 4567次浏览

📜 证书相关错误

原因分析

浏览器无法验证SSL证书的签发机构(CA)。

解决方案
  1. 检查证书链是否完整
    • 确保安装了完整的CA证书链(根证书 + 中间证书)
    • Nginx: 使用 ssl_certificate 指定包含完整链的文件
    • Apache: 确保 SSLCertificateChainFile 已配置
  2. 使用在线工具检测
  3. 重新下载证书包
    • 从TrustySSL控制台重新下载完整证书包
    • 确保包含所有必需的中间证书
Nginx配置示例:
server {
    listen 443 ssl;
    ssl_certificate /path/to/fullchain.pem;  # 包含完整证书链
    ssl_certificate_key /path/to/private.key;
}

原因分析

证书中的域名(CN/SAN)与访问的URL不匹配。

解决方案
  1. 确认证书覆盖的域名
    # 查看证书包含的域名
    openssl x509 -in cert.pem -noout -text | grep DNS
  2. 检查访问方式
    • 如果证书是 www.example.com,不要用 example.com 访问(反之亦然)
    • 建议同时申请主域名和www子域名的证书
  3. 使用通配符或多域名证书
    • 通配符:*.example.com 覆盖所有子域名
    • SAN:一张证书包含多个不同域名

原因分析

证书已过期或尚未生效。

解决方案
  1. 检查证书有效期
    openssl x509 -in cert.pem -noout -dates
  2. 如已过期,立即续期
    • 登录TrustySSL控制台
    • 选择对应订单进行续费/重新签发
    • 下载新证书并替换服务器上的旧文件
  3. 设置到期提醒
    • 建议在到期前30天开始续期流程
    • 启用自动续期服务(如支持)

⚙️ 安装配置问题

  1. 检查文件路径
    • 确认证书文件路径正确
    • 使用绝对路径而非相对路径
  2. 检查文件权限
    # 确保Nginx用户可读取
    chmod 644 /path/to/cert.pem
    chmod 600 /path/to/private.key  # 私钥更严格
    
    # 检查SELinux(如果有)
    ls -Z /path/to/cert.pem
  3. 测试配置语法
    nginx -t
    # 或
    /usr/sbin/nginx -t

可能原因及解决:

  • 私钥格式不匹配
    • 确保私钥与证书是成对的(同一CSR生成)
    • 使用以下命令验证:
      # 验证私钥和证书是否匹配
      openssl x509 -noout -modulus -in cert.pem | openssl md5
      openssl rsa -noout -modulus -in private.key | openssl md5
      # 两个MD5值应该相同
  • 私钥格式问题
    • Apache需要PEM格式私钥
    • 如果是PKCS#8格式,转换命令:
      openssl rsa -in pkcs8.key -out pem.key

  1. 检查目录权限
    chmod 755 /var/www/html
    chmod 644 /var/www/html/index.html
  2. Nginx配置检查
    • 确保 root 指令指向正确的网站目录
    • 检查 index 指令是否包含默认首页文件
  3. 防火墙/SELinux
    • 临时关闭测试:setenforce 0
    • 如果是SELinux问题,执行:
      chcon -R -t httpd_sys_content_t /var/www/html

✅ 域名验证问题

DNS验证失败
症状

DNS TXT记录已添加,但验证一直失败

解决方案
  1. 等待DNS传播(最长48小时)
  2. 使用工具查询记录是否生效:
    nslookup -type=TXT _acme-challenge.yourdomain.com
    dig TXT _acme-challenge.yourdomain.com +short
  3. 检查TXT值是否完全一致(注意引号)
  4. 尝试使用不同的DNS提供商验证
邮箱验证失败
症状

未收到验证邮件或邮件被退回

解决方案
  1. 检查垃圾邮件文件夹
  2. 将CA邮箱加入白名单
  3. 确认MX记录配置正确
  4. 更换管理员邮箱重试
  5. 改用HTTP或DNS验证方式

🌐 浏览器警告处理

警告信息 含义 解决方法
"您的连接不是私密连接" 证书无效、过期或不信任 更新有效证书,安装完整证书链
"此网站使用了过期的安全配置" TLS版本过低或加密套件弱 禁用SSLv3/TLS1.0/1.1,仅保留TLS1.2+
"此页面包含其他不安全资源" 混合内容(HTTPS页加载HTTP资源) 将所有资源改为HTTPS或使用相对协议
"站点不安全" 表单在非HTTPS页面提交 强制全站HTTPS跳转
混合内容快速修复:
<!-- 错误 -->
<script src="http://cdn.example.com/jquery.js"></script>

<!-- 正确 -->
<script src="//cdn.example.com/jquery.js"></script>
<!-- 或 -->
<script src="https://cdn.example.com/jquery.js"></script>

⚡ 性能优化建议

启用OCSP Stapling

减少SSL握手时间,提升首次访问速度:

Nginx配置
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /path/to/ca-bundle.crt;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
Apache配置
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(128000)"

Session缓存与Keep-Alive

# Nginx
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_session_tickets on;

keepalive_timeout 70;

🔄 证书续期指南

续期时间线

  • 到期前30天:开始准备续期
  • 到期前14天:完成续期操作
  • 到期前7天:最后期限!

续期步骤

  1. 登录控制台

    进入TrustySSL管理后台

    Step 1
  2. 选择需要续期的证书

    在我的证书列表中找到即将到期的证书

    Step 2
  3. 选择续期时长并支付

    支持1年/2年/多年优惠套餐

    Step 3
  4. 下载新证书并部署

    替换服务器上的旧证书文件,重启Web服务器

    Done!
重要提醒:
  • 续期后的证书私钥可以保持不变(除非您想更换)
  • 建议在业务低峰期进行证书替换和重启操作
  • 替换后务必测试所有功能正常
更多帮助

如果您的问题未在此列表中,请:


最后更新:2026-05-26
文档反馈

这篇文档对您有帮助吗?您的反馈将帮助我们改进内容质量

相关文档
暂无相关文档