网站证书提示不安全?手机 / 浏览器访问报错?一文搞定 IIS/Nginx/Apache 安全配置
·
一、问题场景(你大概率也遇到了)
很多站长给网站部署完 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,照着做就能解决。
二、第一步:先检测!
- 打开:https://www.myssl.com
- 输入你的域名,开始检测
- 重点看这几项:
- 协议是否支持 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 合规)
- 切换到「安全」标签
- 安全协议勾选:
- TLS 1.0、TLS 1.1、TLS 1.2(追求 PCI 合规可关闭前两个)
- SSL 2.0、SSL 3.0 必须不勾选
- 点击「应用」
- 必须重启服务器 或执行
iisreset /restart
说明:Windows Server 2008 R2 需要安装 KB3140245 补丁才能正常启用 TLS 1.2。
3. 加密套件优化(提升安全评级)
- 取消所有 RC4、3DES、DES 相关套件
- 减少 CBC 套件,优先保留:
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- 调整顺序,强套件放前面
- 点应用,无需重启立即生效
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
四、第三步:验证配置是否成功
- 重启服务后,再次打开myssl.com 上检测
- 达标标准:
- 评级:A / A-
- ATS:合规
- 仅支持 TLS 1.2 + TLS 1.3
- 无弱加密、无弱 DH、无漏洞警告
- 手机 / 浏览器重新访问,地址栏出现安全绿锁即可。
五、常见避坑要点
- 关闭旧协议前,先确认没有老旧系统 / IE 依赖
- 证书链必须完整,否则手机必报错
- Windows Server 2008 R2 务必打 KB3140245
- 每 3 个月用 myssl 复查一次安全配置
六、总结
HTTPS 不是装上证书就完事,安全配置才是关键。按本文方法配置后:
- 浏览器不再提示不安全
- 手机访问正常
- myssl 评级提升
- ATS/PCI 合规
如果你也被 “证书不安全” 困扰,现在就去测一下,然后照着本文一步步修复即可。
📌 原文出处 & 更多运维工具教程
本文完整原版、持续更新及更多网站运维、SSL 配置、服务器工具教程,欢迎访问我的个人博客:👉 https://www.lnmpweb.cn
更多推荐
所有评论(0)