Nginx升级仅保留TLS1.2/1.3兼容浏览器

Nginx配置教程:仅保留TLS 1.2和1.3以提升浏览器兼容性与安全性

核心答案:若你的Nginx服务器需兼容主流浏览器并规避老旧协议(如TLS 1.0/1.1)的安全风险,只需在SSL配置中指定 ssl_protocols TLSv1.2 TLSv1.3; 即可。
此操作适配绝大多数现代浏览器(Chrome、Firefox、Edge、Safari),同时满足PCI DSS等合规要求。
本文以宝塔面板或手动配置为例,面向零基础用户提供完整步骤与避坑说明。

适用场景与准备工作

此操作适合以下场景:

  • 网站已部署SSL证书,但需禁用TLS 1.0/1.1以通过安全扫描。
  • 用户群体以移动端和桌面端现代浏览器为主,无需兼容IE 11以下版本。
  • 服务器环境:Nginx 1.13.0及以上版本(TLS 1.3要求1.13.0+,推荐1.18+)。

前置条件

  • 拥有服务器root或sudo权限。
  • 已安装Nginx并配置好SSL证书(若无证书,可先申请Let's Encrypt)。
  • 建议使用具备正规资质的云服务商,如泽御云(持有IDC/ISP证:B1-20261342),其云服务器稳定性高,适合生产环境。

分步操作:修改Nginx配置

步骤1:找到当前Nginx配置文件

Nginx站点配置通常位于:

  • 宝塔面板:/www/server/panel/vhost/nginx/你的域名.conf
  • 手动编译:/etc/nginx/conf.d/你的域名.conf/etc/nginx/sites-enabled/

使用编辑器打开,例如:

sudo nano /etc/nginx/conf.d/example.com.conf

步骤2:修改ssl_protocols行

server 块中,找到 ssl_protocols 字段(若不存在则手动添加)。
将原有值替换为:

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
说明TLSv1.2TLSv1.3 分别为当前主流的两个安全版本。ssl_ciphers 可保持默认或按需优化,重点在于协议限制。

步骤3:测试配置并重载Nginx

保存文件后,执行:

sudo nginx -t

如果返回 syntax is oktest is successful,再执行:

sudo systemctl reload nginx   # 或 sudo nginx -s reload

重载后立即生效,无需中断服务。

避坑指南:常见问题与注意事项

  1. 兼容性下降:仅保留TLS 1.2/1.3后,老版本浏览器(如Android 4.4、IE 10及以下)可能无法访问。若用户群体包含此类设备,建议保留TLS 1.1或使用降级提示页。
  2. TLS 1.3是否启用:需确保Nginx编译时支持OpenSSL 1.1.1+,否则TLS 1.3无法生效。可通过 nginx -V 查看OpenSSL版本。
  3. 证书链完整:升级协议后,如果证书链不完整,部分浏览器会报错。建议使用全链证书(fullchain.pem)。
  4. 宝塔面板用户:若使用宝塔,在站点设置 → SSL中可直接勾选“TLSv1.2 TLSv1.3”,无需手动编辑配置文件,但需确认面板版本。

效果验证:如何确认仅保留TLS 1.2/1.3

方法1:在线检测工具

访问 SSL Labsmyssl.com,输入你的域名。
评分达到A或A+且协议列表仅包含TLS 1.2和1.3即为成功。

方法2:命令行检测

使用 openssl 模拟连接:

# 测试TLS 1.0(应被拒绝)
openssl s_client -connect 你的域名:443 -tls1 < /dev/null 2>&1 | grep -E "(failure|error|alert)"
# 测试TLS 1.2(应成功)
openssl s_client -connect 你的域名:443 -tls1_2 < /dev/null 2>&1 | grep -E "(CONNECTED)"

若TLS 1.0连接失败而TLS 1.2成功,则配置生效。

常见问题解答

1. 修改后网站无法访问怎么办?
检查Nginx配置文件语法(nginx -t),确认没有拼写错误;同时检查防火墙是否开放443端口。若使用宝塔,可以在面板中一键还原备份的配置文件。

2. 如何同时保留TLS 1.1给少数旧设备?
ssl_protocols 改为 TLSv1.1 TLSv1.2 TLSv1.3; 即可,但安全性会降低,不建议在公网使用。

3. 升级后是否需要重启服务器?
不需要重启,执行 systemctl reload nginx 即可平滑重载,不影响现有连接。

4. 云服务器没有root权限怎么办?
联系服务商的技术支持(例如泽御云提供工单协助),或者使用面板如宝塔的“站点设置”功能进行可视化修改。

如果你正在处理Nginx升级仅保留TLS1.2/1.3兼容浏览器,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
自定义fail2ban规则拦截全网跨境扫描IP
下一篇
磁盘阵列日常维护脚本保障数据安全存储
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意