ssl labs test可客观评估生产环境https安全等级,需直连nginx(绕过cdn/代理)、开放443端口、验证dns解析;a+要求tls 1.2/1.3、ecdhe密钥交换、pfs密码套件、全客户端握手成功,并配置ocsp装订、hsts、完整证书链、http强制跳转及http/2。

直接用 SSL Labs Test(https://www.php.cn/link/c182dc5c90dc87dfee9cd309c33f19b3)扫描你的域名,就能得到生产环境 HTTPS 配置的客观安全评级。它不看界面是否锁图标,而是真实握手、逐项检测协议行为和响应策略。
测试前必须确保真实环境暴露
SSL Labs 测的是你 Nginx 服务器本身,不是 CDN 或代理层:
- 临时把 Cloudflare、阿里云 CDN、腾讯云 WAF 等切换为 “DNS only” 模式,或完全暂停服务
- 确认 DNS 解析已指向你的 Nginx 服务器公网 IP(可用
dig +short yourdomain.com验证) - 检查云平台安全组和系统防火墙,确保 443 端口对外可访问(
telnet yourdomain.com 443应能连通) - 若使用多层代理(如 Traefik → Nginx),确保测试目标是最终终止 TLS 的那台机器
看懂报告里的四个关键模块
提交后等待 3–5 分钟,重点关注以下四块(A+ 要求全部达标):
- Protocol Support:只显示 TLS 1.2 和 TLS 1.3 ✔️;TLS 1.0/1.1 出现即扣分
-
Key Exchange:密钥交换应为
ECDHE + secp256r1或x25519;RSA 密钥交换或 weak curve 会标红 -
Cipher Suites:所有启用套件必须支持前向保密(PFS),且无
RC4、3DES、SHA-1等淘汰算法 - Handshake Simulation:Chrome、Firefox、iOS Safari、Android Chrome 等主流客户端都必须显示“Yes”,不能有“Fail”或“Warning”
对照报告快速修正 Nginx 配置
每条红色警告基本都能对应到一行配置,常见修复如下:
- 提示 “TLS 1.0/1.1 enabled” → 把
ssl_protocols改为TLSv1.2 TLSv1.3 - 提示 “Weak cipher suites” → 使用强套件,例如:
'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-AES256-GCM-SHA384' - 提示 “Missing OCSP stapling” → 添加:
ssl_stapling on;<br>ssl_stapling_verify on;<br>resolver 8.8.8.8 1.1.1.1 valid=300s;<br>ssl_trusted_certificate /path/to/fullchain.pem;
- 提示 “No HSTS header” → 加上:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
别漏掉基础但关键的细节
A+ 不只靠密码套件,还依赖完整性和一致性:
- 证书链必须完整:使用
fullchain.pem(不是单独的cert.pem),否则 Android/iOS 可能报错 - HTTP 必须 301 强制跳转 HTTPS:
return 301 https://$host$request_uri; - 启用 HTTP/2:
listen 443 ssl http2; - 页面不能有混合内容(HTTP 资源):浏览器控制台检查是否有
Mixed Content警告











