ssl labs test可客观检测nginx https安全评分,需先关闭cdn、确保dns直连nginx且443端口开放;报告聚焦protocol support(仅tls 1.2/1.3)、key exchange(ecdhe+secp256r1/x25519)、cipher suites(pfs强套件)、handshake simulation(全客户端“yes”),依提示修正ssl_protocols、ssl_ciphers等配置,并确保fullchain.pem和http→https 301跳转。

直接用 SSL Labs Test(https://www.php.cn/link/c182dc5c90dc87dfee9cd309c33f19b3)就能客观检测 Nginx 的 HTTPS 安全评分,这是目前最权威、最常用、且完全免费的第三方工具。
测试前必须做的三件事
SSL Labs 测的是你真实服务器的 TLS 行为,不是 CDN 或代理层的配置:
- 临时关闭或切换 CDN 为 “DNS only” 模式(如 Cloudflare、阿里云 CDN),否则测到的是它们的默认策略
- 确认域名 DNS 已解析到你的 Nginx 服务器公网 IP,且 443 端口在防火墙和云平台安全组中已开放
- 如果用了多层反向代理(比如 Traefik → Nginx),确保测试的是最终终止 TLS 的那台服务器
怎么看报告里的关键项
提交域名(如 example.com)后,等待 3–5 分钟,报告会分模块打分。重点关注这四块,每一条红色警告都对应可改的 Nginx 配置:
- 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 配置
报告里每条红色提示,基本都能映射到一行具体配置。常见修复方式如下:
- 提示 “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;
别漏掉两个基础但关键的点
A+ 不只看加密参数,还依赖部署完整性:
- 证书链必须完整:使用
fullchain.pem(不是单独的cert.pem),否则 iOS 和部分安卓设备会报错 - HTTP 必须 301 强制跳转 HTTPS:
return 301 https://$host$request_uri;或rewrite ^(.*)$ https://$host$1 permanent;











