SSL Labs测试可客观验证Nginx HTTPS配置是否达A+,需关闭CDN/代理、开放443端口、确保DNS直连;重点检查协议支持(TLS 1.2/1.3)、密钥交换(ECDHE+secp256r1/x25519)、密码套件(PFS且无弱算法)、握手模拟(全客户端“Yes”);依报告修正ssl_protocols、ssl_ciphers、OCSP stapling、HSTS等配置,并确保fullchain.pem、80→443 301跳转、HTTP/2启用及无混合内容。

直接用 SSL Labs 测试你的域名,就能验证 Nginx 的 HTTPS 配置是否达到 A+。这不是主观判断,而是基于协议行为、密码强度和响应头策略的客观打分。
测试前必须关掉 CDN 和代理
SSL Labs 测的是你真实服务器的 TLS 行为,不是中间层的默认配置:
- 临时把 Cloudflare、阿里云 CDN 等切换成 “DNS only” 模式,或完全暂停服务
- 确认 DNS 已解析到你的 Nginx 服务器公网 IP
- 检查防火墙和云平台安全组,确保 443 端口对外开放
- 如果用了多层反向代理(比如 Traefik → Nginx),要确保测试的是最终终止 TLS 的那台
执行测试并看懂关键模块
打开 SSL Labs Test,输入你的完整域名(如 example.com),点击 Submit。重点看这四块:
- Protocol Support:只应显示 TLS 1.2 和 TLS 1.3 ✔️;TLS 1.0/1.1 出现即扣分
- Key Exchange:密钥交换应为 ECDHE + secp256r1 或 x25519;RSA 密钥交换或弱曲线会标红
- Cipher Suites:所有启用套件必须支持前向保密(PFS),且无 RC4、3DES、SHA-1 等淘汰算法
- Handshake Simulation:主流客户端(Chrome、Firefox、iOS Safari)都应显示“Yes”,不能有“Fail”或“Warning”
对照报告改 Nginx 配置
报告里每条红色警告,基本都能对应到一行 Nginx 配置:
- 提示 “TLS 1.0/1.1 enabled” → 检查
ssl_protocols是否设为TLSv1.2 TLSv1.3 - 提示 “Weak cipher suites” → 替换
ssl_ciphers为现代强套件,例如:'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-AES256-GCM-SHA384' - 提示 “Missing OCSP stapling” → 确保配置了
ssl_stapling on;、ssl_stapling_verify on;,并配好resolver和ssl_trusted_certificate - 提示 “No HSTS header” → 加上
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
别漏掉证书链和 HTTP 跳转
A+ 不只看加密参数,还依赖基础完整性:
- 确保证书文件是
fullchain.pem(含域名证书 + 中间证书),不是单独的cert.pem - 80 端口必须配置 301 永久跳转到 HTTPS,且跳转响应中也要带 HSTS 头
- HTTP/2 必须启用(
listen 443 ssl http2;),否则影响性能评分 - 混合内容(HTTP 资源)清零,浏览器控制台无“Mixed Content”报错


















