TLS协议升级仅保留TLS1.2/1.3兼容全浏览器

很多站长为了安全性,想把服务器TLS协议升级到只支持TLS 1.2和1.3,但又担心老浏览器用户访问不了。
其实当前主流浏览器(Chrome 30+、Firefox 27+、Edge 79+、Safari 9+)都原生支持TLS 1.2,TLS 1.3也在较新版本中得到兼容。
本教程将以Nginx和Apache两种环境为例,手把手教你完成升级操作,并给出验证方法和常见避坑指南。

第一步:检查当前环境与准备

在修改配置前,先确认服务器OpenSSL版本是否支持TLS 1.3。
SSH登录服务器后执行:

openssl version

确保版本号大于等于 1.1.1(TLS 1.3需要OpenSSL 1.1.1以上)。
如果版本过低,需要先升级OpenSSL(Ubuntu用 apt upgrade openssl,CentOS用 yum update openssl)。
同时备份现有配置文件:

# Nginx
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
# Apache
cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.bak

第二步:修改配置,仅启用TLS 1.2和1.3

如果你使用Nginx

编辑Nginx的虚拟主机配置文件(通常位于 /etc/nginx/sites-available/你的网站.conf/etc/nginx/conf.d/你的网站.conf),
server 块中找到 ssl_protocols 行,
修改为:

ssl_protocols TLSv1.2 TLSv1.3;

如果整行不存在,直接在 listen 443 ssl; 后面添加即可。
注意不能有多余空格或分号遗漏。
保存后测试配置:

nginx -t

若输出 syntax is oktest is successful,则重新加载:

nginx -s reload

如果你使用Apache

编辑SSL配置文件(如 /etc/httpd/conf.d/ssl.conf/etc/apache2/sites-available/default-ssl.conf),
找到 443> 内部的 SSLProtocol 行,
修改为:

SSLProtocol -all +TLSv1.2 +TLSv1.3

保存后检查语法:

apache2ctl -t   # 或 httpd -t

显示 Syntax OK 后重启Apache:

systemctl restart apache2   # 或 httpd

第三步:避坑指南——浏览器兼容性细节

  • TLS 1.3 默认使用 1-RTT 握手,部分旧设备(如 Android 4.x 的默认浏览器)不支持,如果你的网站需要服务这类设备,建议保留TLS 1.2即可。本文方案已经保留TLS 1.2,只有极个别仍使用TLS 1.0/1.1的客户端(如 IE11 在 Windows 7 上)会被拒绝,而这类浏览器已经非常罕见。
  • 证书链未正确配置可能导致部分浏览器提示“不安全”,与TLS版本无关。确保证书文件完整上传,并设置 ssl_certificatessl_certificate_key 路径正确。
  • CDN / 反向代理:如果你的服务器前端有Cloudflare、Nginx反向代理等,还需要在这些代理层同步修改TLS协议设置,否则最终用户仍然走代理的旧协议。
  • 修改后立即访问网站出现“ERR_SSL_VERSION_OR_CIPHER_MISMATCH”:通常是因为服务器不支持客户端发起的协议握手。打开浏览器开发者工具(F12) > 安全标签,查看当前连接使用的TLS版本。如果显示TLS 1.0/1.1,说明配置未生效。

第四步:效果验证——确认仅启用目标协议

方法一:在线检测工具

推荐使用 SSL Labs(https://www.ssllabs.com/ssltest/),输入你的域名,等待扫描完成。
在“Configuration”一栏会列出支持的协议版本,确认只有TLS 1.2和1.3显示绿色对号。

方法二:命令行验证(本地机器需要curl支持)

# 测试TLS 1.2
curl --tlsv1.2 -I https://你的域名
# 测试TLS 1.3
curl --tlsv1.3 -I https://你的域名
# 测试TLS 1.0(应该失败)
curl --tlsv1.0 -I https://你的域名

如果TLS 1.0请求返回 curl:
(35) error:
1409442E:
SSL routines:
ssl3_read_bytes:
tlsv1 alert protocol version

说明配置生效。

方法三:浏览器直接访问

用Chrome访问你的网站,点击地址栏左侧的小锁图标 >“连接是安全的” > 查看“协议”行。
如果显示 TLS 1.2TLS 1.3,并且没有安全警告,就成功了。

如果你正在处理TLS协议升级仅保留TLS1.2/1.3兼容全浏览器,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。
如果使用宝塔面板,可在网站设置 > SSL > TLS版本中选择“仅允许TLSv1.2和TLSv1.3”,操作更简单。
升级完成后至少观察一周,确保无用户反馈访问异常。

分享到:
上一篇
AI中转站日志审计溯源恶意API调用完整记录
下一篇
磁盘阵列日常维护脚本保障站点数据安全存储
1
系统公告

机房迁移升级通知

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