一、问题场景(你大概率也遇到了)

很多站长给网站部署完 SSL 证书后,都会遇到这些诡异问题

  • 电脑部分浏览器提示:您的连接不是私密连接
  • 手机(尤其 iOS/Safari)直接打不开,提示证书不安全
  • 证书有效期正常、颁发机构可信,但浏览器就是不认
  • 检测评级低、ATS 不合规、存在弱加密

根本原因:不是证书坏了,而是服务器 SSL/TLS 配置太旧、太弱

  • 未启用 TLS 1.2(Apple ATS 强制要求)
  • 开启了 TLS 1.0 / TLS 1.1 / SSLv3 等老旧协议
  • 使用 RC4、3DES、CBC 等弱加密套件
  • 证书链不完整、DH 参数过短

下面直接给你一站式修复方案,支持 IIS 7 及以上、Nginx、Apache,照着做就能解决。


二、第一步:先检测!

  1. 打开:https://www.myssl.com
  2. 输入你的域名,开始检测
  3. 重点看这几项:
    • 协议是否支持 TLS 1.2
    • 是否存在 TLS 1.0 / TLS 1.1 / SSLv3
    • 加密套件是否含 RC4、3DES、DES
    • 安全评级、ATS 是否合规
    • 是否提示弱 DH 参数

三、第二步:分环境修复(IIS/Nginx/Apache)

(1)IIS 服务器(IIS 7/7.5/8/8.5/10 通用)

推荐使用 SSL Tools for IIS 绿色工具,一键配置,不用改注册表。

1. 工具下载

官方下载:

http://www.trustasia.com/down/ssltools.zip

解压后以管理员身份运行 SSL Tools for IIS.exe

2. 安全协议设置(解决 ATS 合规)
  1. 切换到「安全」标签
  2. 安全协议勾选:
    • TLS 1.0、TLS 1.1、TLS 1.2(追求 PCI 合规可关闭前两个)
    • SSL 2.0、SSL 3.0 必须不勾选
  3. 点击「应用」
  4. 必须重启服务器 或执行 iisreset /restart

说明:Windows Server 2008 R2 需要安装 KB3140245 补丁才能正常启用 TLS 1.2。

3. 加密套件优化(提升安全评级)
  1. 取消所有 RC4、3DES、DES 相关套件
  2. 减少 CBC 套件,优先保留:
    • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  3. 调整顺序,强套件放前面
  4. 点应用,无需重启立即生效
4. 进阶备选:IIS Crypto

需要调整 DH 参数时使用,选择 Best Practices 一键应用即可。


(2)Nginx 服务器(Linux)

直接修改站点配置文件,复制即用:

server {
    listen 443 ssl http2;
    server_name 你的域名.com;

    ssl_certificate /path/to/证书.crt;
    ssl_certificate_key /path/to/私钥.key;

    # 只启用高版本协议
    ssl_protocols TLSv1.2 TLSv1.3;

    # 强加密套件
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';

    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
}

重载生效:

nginx -t
nginx -s reload

(3)Apache 服务器(Linux)

配置示例:

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName 你的域名.com

    SSLCertificateFile /path/to/证书.crt
    SSLCertificateKeyFile /path/to/私钥.key
    SSLCertificateChainFile /path/to/CA链.crt

    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

    SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256

    SSLHonorCipherOrder on
    SSLUseStapling on
</VirtualHost>
</IfModule>

重载生效:

# Debian/Ubuntu
apache2ctl configtest && apache2ctl graceful

# CentOS/RHEL
httpd -t && systemctl reload httpd

四、第三步:验证配置是否成功

  1. 重启服务后,再次打开myssl.com 上检测
  2. 达标标准:
    • 评级:A / A-
    • ATS:合规
    • 仅支持 TLS 1.2 + TLS 1.3
    • 无弱加密、无弱 DH、无漏洞警告
  3. 手机 / 浏览器重新访问,地址栏出现安全绿锁即可。

五、常见避坑要点

  1. 关闭旧协议前,先确认没有老旧系统 / IE 依赖
  2. 证书链必须完整,否则手机必报错
  3. Windows Server 2008 R2 务必打 KB3140245
  4. 每 3 个月用 myssl 复查一次安全配置

六、总结

HTTPS 不是装上证书就完事,安全配置才是关键。按本文方法配置后:

  • 浏览器不再提示不安全
  • 手机访问正常
  • myssl 评级提升
  • ATS/PCI 合规

如果你也被 “证书不安全” 困扰,现在就去测一下,然后照着本文一步步修复即可。


📌 原文出处 & 更多运维工具教程

本文完整原版、持续更新及更多网站运维、SSL 配置、服务器工具教程,欢迎访问我的个人博客:👉 https://www.lnmpweb.cn

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐