宝塔Nginx TLS1.2 TLS1.3配置

为什么要在宝塔Nginx中配置TLS1.2和TLS1.3

TLS协议负责加密网站与用户浏览器之间的数据传输。
如果只使用老旧TLS1.0或1.1,不仅加密强度低,还容易被主流浏览器标记为不安全。
开启TLS1.2和TLS1.3既保证兼容性(TLS1.2支持绝大多数设备),又能用上TLS1.3的更快握手和更强加密。
本文专门针对宝塔面板管理的Nginx环境,从零开始教你完成配置。

配置前的准备工作

  1. 确保已安装宝塔面板:版本不限,但建议升级到最新版。面板后台路径:http://你的服务器IP:8888
  2. 确保站点已绑定域名:并且域名的DNS已经解析到服务器IP。
  3. 为站点申请SSL证书:推荐在宝塔面板内直接申请Let's Encrypt免费证书(面板 -> 网站 -> 设置 -> SSL -> Let's Encrypt)。如果已有其他证书,请先上传。
  4. 备份Nginx配置文件:在修改前点击宝塔面板左侧“文件” -> 找到 /www/server/nginx/conf/nginx.conf 或站点配置文件 /www/server/panel/vhost/nginx/你的域名.conf,复制一份到安全位置。

在宝塔面板中配置TLS1.2和TLS1.3

有两种常用方法:通过面板图形界面设置,或手动编辑配置文件。
推荐新手先尝试图形化操作。

方法一:面板图形化配置(推荐)

  1. 进入宝塔面板,点击左侧“网站”。
  2. 找到你要配置的目标网站,点击右侧“设置”。
  3. 在弹出的窗口中选择“SSL”标签页。
  4. 在“SSL协议”下拉框中,选择 TLSv1.2 TLSv1.3(注意:不同宝塔版本可能显示为“TLSv1.3 TLSv1.2”,选择包含两者且不包含TLSv1.0/1.1的选项即可)。
  5. 如果下拉框没有这个选项,手动编辑配置(见方法二)。
  6. 点击“保存”后,面板会自动重载Nginx。
  7. 重要:保存后稍等几秒,然后点击“重启”按钮(有时需要手动重启Nginx才能生效)。

方法二:手动编辑Nginx配置文件

如果面板没有提供理想的选项,或你想更精细控制,可以手动修改站点配置文件。

  1. 进入宝塔面板 -> 网站 -> 目标网站 -> 设置 -> 配置文件(或者直接点击网站列表右侧的“配置文件”按钮)。
  2. server 块中找到类似下面的 ssl_protocols 配置行:
ssl_protocols TLSv1.1 TLSv1.2;
  1. 将其修改为只包含TLS1.2和TLS1.3:
ssl_protocols TLSv1.2 TLSv1.3;
  1. 如果文件中没有这行,请手动添加在 ssl_certificatessl_certificate_key 的下面,确保在同一个server块内。
  2. 检查SSL相关配置是否完整,例如:
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:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
  1. 保存文件,然后点击面板顶部“服务” -> Nginx -> 重载配置(或重启)。

避坑指南:新手最容易出错的地方

  • 配置后网站无法访问:最常见原因是ssl_protocols写错了(比如漏了冒号),或者同时开启了TLS1.0但被浏览器拒绝。建议先只启用TLS1.2和TLS1.3,若部分老旧设备(如旧版Android、Windows 7的IE)无法访问,再考虑临时加回TLS1.1。
  • SSL协议选项灰色不可选:说明该站点未正确部署SSL证书。先走完证书申请流程。
  • 修改配置文件后浏览器仍然提示TLS1.0:检查是否同时存在其他Nginx配置文件(如主配置文件nginx.confhttp块)覆盖了站点配置。在宝塔中,主配置文件默认不包含ssl_protocols,但如果自己手动添加过,会覆盖站点的设置。
  • 使用了CDN:如果你开启了CDN(如Cloudflare),TLS协议可能由CDN节点决定,需要在CDN面板中设置。宝塔内的配置仅对源站有效。

如何验证TLS1.2和TLS1.3是否成功启用

方法A:浏览器开发者工具

  1. 用最新版Chrome或Edge访问你的网站。
  2. 按F12打开开发者工具,切换到“安全”或“网络”标签。
  3. 点击网页任一请求,查看“Connection”或“Protocol”信息,如果显示 TLS 1.3TLS 1.2 即成功。

方法B:在线检测工具

  1. 打开SSLLabs的SSL Server Test(https://www.ssllabs.com/ssltest/)。
  2. 输入你的域名,等待检测完成。
  3. 在“Protocols”部分,检查是否只列出了TLS 1.2和TLS 1.3(且TLS 1.0/1.1显示“No”)。

方法C:命令行检测(有服务器SSH权限)

openssl s_client -connect 你的域名:443 -tls1_2  # 测试TLS1.2,应返回证书链
openssl s_client -connect 你的域名:443 -tls1_3  # 测试TLS1.3,应返回证书链

如果两个命令都能正常显示证书信息,说明对应协议已启用。

常见问题解答(FAQ)

Q:配置后网站加载变慢,怎么办?
A:TLS1.3本身握手更快,通常不会变慢。如果变慢,检查是否启用了过多的密码套件或开启了旧版协议。建议只保留现代加密套件,并启用OCSP Stapling。

Q:我需要同时支持TLS1.2和TLS1.3,但某个旧应用报错。
A:旧应用可能只支持TLS1.0/1.1。如果必须在安全性和兼容性之间平衡,可以保留TLS1.2和TLS1.3,然后单独为旧应用创建一个子域名(或使用不同端口)单独配置更低的TLS版本。不推荐在主力站点上保留老旧协议。

Q:宝塔面板里找不到SSL协议选项。
A:宝塔版本较旧时可能没有该下拉框。请按照“方法二”手动编辑配置文件。如果手动编辑后无法保存,检查面板文件权限。

总结

通过以上步骤,你应该已经成功在宝塔Nginx上配置了TLS1.2和TLS1.3。
记得每次修改配置后都要重载Nginx,并做一遍验证,确保配置生效且网站正常运行。
如果你在操作中遇到其他报错,可以先查看Nginx错误日志(宝塔面板 -> 网站 -> 目标网站 -> 错误日志),定位错误行后再回看本文避坑部分。

如果你正在处理宝塔Nginx TLS1.2 TLS1.3配置,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
宝塔搭建跨境WordPress独立站
下一篇
宝塔SSL报错不受支持协议修复指南
1
系统公告

机房迁移升级通知

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