上一篇我们完整讲透了 SSL/TLS 协议工作原理、证书信任机制、HTTPS 安全底层逻辑。
理论看懂后,运维最核心、最刚需的就是:生产环境如何正确、安全、高标准部署 TLS。
很多网站虽然装了 SSL 证书、开了 HTTPS,但依然存在大量隐性漏洞:
- 默认兼容 TLS1.0/1.1 高危弱协议
- 弱加密套件导致可被降级攻击
- 没有开启 TLS1.3,访问延迟高
- 未配置 HSTS,浏览器依然可以被 HTTP 劫持跳转
- 缺少安全响应头,安全评级始终拿不到 A+
今天给大家一套 可直接上线、企业生产级、一键套用的 Nginx TLS1.3 完整配置模板,适配所有网站、API 服务、前后端项目,配置完直接满分安全评级。
一、生产环境必须关闭/开启的核心标准
✅ 必须开启
- TLS 1.2 + TLS 1.3(目前唯一安全、合规协议)
- 强制 ECDHE/AES/GCM 高强度加密套件
- HSTS 强制 HTTPS 缓存
- 安全响应头、防劫持、防 XSS、防嗅探
❌ 必须永久关闭
- TLS 1.0 / TLS 1.1(全网淘汰,高危漏洞多)
- SSLv2 / SSLv3(彻底废弃)
- RC4、3DES、SHA1 等弱加密算法
- 不安全的 RSA 密钥交换模式
二、Nginx 完整 TLS1.3 + HSTS 生产配置模板
适用所有 Linux + Nginx 环境(Nginx 1.13+ 支持 TLS1.3)
以下配置可直接覆盖 server 块,开箱即用。
# 全局 TLS 安全配置 ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305; # 密钥缓存与会话复用 ssl_session_cache shared:SSL:10m; ssl_session_timeout 1d; ssl_session_tickets off; # OCSP Stapling 加速证书校验 ssl_stapling on; ssl_stapling_verify on; resolver 114.114.114.114 8.8.8.8 valid=300s; resolver_timeout 5s; # HSTS 强制 HTTPS(核心!防止降级劫持) add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; # 基础安全响应头 add_header X-Frame-Options DENY always; add_header X-Content-Type-Options nosniff always; add_header X-XSS-Protection "1; mode=block" always; add_header Referrer-Policy strict-origin-when-cross-origin always; add_header Content-Security-Policy "default-src 'self'" always; # 关闭不安全版本 ssl_protocols TLSv1.2 TLSv1.3; # 证书路径(自行替换) ssl_certificate /etc/nginx/ssl/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/private.key; # 强制 HTTP 301 跳转 HTTPS server { listen 80; server_name yourdomain.com www.yourdomain.com; return 301 https://$host$request_uri; }
三、逐行讲解:为什么必须这么配?
1. 只保留 TLS1.2 / TLS1.3
TLS1.0/1.1 存在大量公开漏洞(BEAST、CRIME、POODLE),现代浏览器、搜索引擎、小程序已全面不推荐,生产环境必须彻底关闭。
2. 加密套件只保留 GCM / ChaCha20
舍弃所有 CBC、SHA1、3DES 弱算法,只保留 AEAD 安全套件:
- GCM:电脑端高速稳定
- ChaCha20:手机端弱网性能更强
同时支持 ECDHE 前向安全密钥交换,即使私钥泄露,历史通信记录也无法被解密。
3. HSTS 核心作用(很多人漏掉)
单纯 301 跳转依然存在漏洞:用户首次访问可能被 HTTP 中间人劫持。
HSTS 会让浏览器永久记住:该域名只能用 HTTPS 访问,禁止任何 HTTP 明文连接。
参数说明:
- max-age=63072000:两年有效期
- includeSubDomains:所有子域名强制生效
- preload:可加入浏览器 HSTS 预加载列表
4. 安全响应头组合
- X-Frame-Options:禁止被嵌套iframe,防点击劫持
- X-Content-Type-Options:禁止MIME嗅探,防文件解析漏洞
- X-XSS-Protection:开启浏览器XSS防御
- CSP:内容安全策略,极大降低注入攻击风险
5. OCSP Stapling
解决浏览器每次访问都要远程校验证书状态的问题,提升HTTPS访问速度、减少握手延迟,是TLS性能优化关键点。
四、配置完成后如何验证?(权威满分检测)
推荐行业通用官方检测工具:
SSL Labs Server Test
配置完本文模板,检测结果直接 A+ 满分评级。
可自查项:
- 协议版本:仅 TLS1.2 / TLS1.3
- 无任何弱加密套件
- HSTS 正常生效
- 前向安全(Forward Secrecy)全部支持
- 无降级攻击风险
五、生产运维补充最佳实践(避坑重点)
1. 证书自动续期
免费证书90天有效期,务必配置 acme.sh / certbot 自动续期 + Nginx 重载,杜绝证书过期全站爆红。
2. 禁止随意开启老旧协议兼容
不要为了兼容老设备打开 TLS1.0,老旧设备本身风险极高,安全优先级高于兼容。
3. TLS1.3 性能优势明显
握手从 2RTT 降到 1RTT,移动端、弱网环境打开速度提升非常明显,是现代网站必开优化。
六、系列文章联动总结
上篇文章我们搞懂了:SSL/TLS 协议原理、证书信任逻辑、HTTPS 安全本质
这篇文章直接落地:生产级 Nginx 安全配置、TLS1.3 强化、HSTS 防劫持、满分安全加固
理论 + 实操成套闭环,完全适配企业建站、API服务、小程序、线上项目标准部署。