宝塔面板SSL配置教程:开启HTTPS安全访问
时间:2026-04-05 08:02:12 281浏览 收藏
宝塔面板默认的HTTP访问存在登录凭证被窃取的重大安全风险,本文详细讲解了如何通过五步操作(确认环境、一键申请域名证书、手动上传IP证书、配置Nginx强制跳转HTTPS、浏览器端全面验证)为宝塔面板启用真正可靠的HTTPS加密访问,涵盖域名与IP两种场景,兼顾自动化便捷性与手动配置灵活性,并强调TLS版本、证书链、重定向等关键细节,助您一键筑牢服务器管理入口的安全防线。

如果您已完成宝塔面板安装,但访问面板地址(如 http://服务器IP:8888)仍为HTTP明文传输,则存在登录凭证被窃取的风险。为保障面板管理安全,必须启用HTTPS访问。以下是开启宝塔面板自身HTTPS登录的完整操作流程:
一、确认前置条件已满足
启用面板HTTPS前,需确保服务器具备基础运行环境与网络可达性。该步骤不涉及证书申请,但直接影响后续配置能否生效。需验证三项关键状态:宝塔面板服务正在运行;服务器443端口未被占用且已放行;所用域名或IP已正确解析并可被公网访问(若使用域名方式访问面板)。其中,443端口必须在服务器防火墙及云厂商安全组中双向开放,否则浏览器将无法建立TLS连接。
二、通过宝塔内置SSL功能一键启用(推荐)
此方法适用于使用域名访问宝塔面板的场景,依赖宝塔自动调用Let’s Encrypt接口签发证书,全程图形化操作,无需手动上传文件。其核心原理是利用宝塔集成的acme.sh客户端完成域名验证与证书部署,并自动更新Nginx面板反向代理配置。
1、登录宝塔面板,在右上角点击头像,选择「面板设置」。
2、在「面板设置」页面中,找到「面板SSL」区域,点击「设置」按钮。
3、勾选「启用面板SSL」复选框,下方自动展开域名输入框。
4、在「绑定域名」栏中填写您用于访问宝塔面板的**已解析到本服务器的域名**(例如 panel.example.com)。
5、点击「申请证书」按钮,系统将自动执行DNS或HTTP验证,约10–30秒后显示「证书申请成功」。
6、勾选「强制HTTPS」选项,点击「保存」,面板将自动重启Nginx服务。
7、关闭当前浏览器标签页,重新使用 https://panel.example.com:8888 访问,地址栏应显示绿色安全锁标识。
三、手动上传SSL证书配置(适用于IP访问或自签名场景)
当无法使用域名(如仅通过服务器IP访问面板)或需使用企业私有CA签发的证书时,须手动准备并注入证书文件。该方式绕过自动验证流程,直接修改面板底层Nginx配置,要求证书格式严格符合PEM标准,且私钥无密码保护。
1、准备两个文件:证书文件(.pem 或 .crt 格式,含完整证书链)和私钥文件(.key,RSA格式,权限为600)。
2、登录宝塔面板,进入「文件」,定位路径:/www/server/panel/vhost/nginx/。
3、在此目录下新建文件夹命名为 panel-ssl,并将.pem与.key文件上传至此目录。
4、选中两个文件,右键「权限」,设置所有者为root,权限值为644(证书)与600(私钥)。
5、返回「面板设置」→「面板SSL」→「其他证书」,在「密钥(KEY)」框粘贴.key文件全部内容,在「证书(PEM格式)」框粘贴.pem文件全部内容。
6、点击「保存」,系统提示重启成功后,使用 https://服务器IP:8888 访问,浏览器可能提示「您的连接不是私密连接」,此时点击「高级」→「继续前往」即可临时信任(仅限测试环境)。
四、配置Nginx反向代理强制跳转(解决HTTP仍可访问问题)
即使启用面板HTTPS,原HTTP端口(8888)默认仍保持监听,攻击者可尝试绕过HTTPS直接访问。本步骤通过修改面板Nginx主配置,实现对所有HTTP请求的301重定向,确保所有流量强制走加密通道。
1、进入「软件商店」→ 找到「Nginx」→ 点击「设置」→「配置修改」。
2、在打开的nginx.conf文件顶部空白处,插入以下server块(注意替换server_name为您的实际面板域名或IP):
server { listen 8888; server_name panel.example.com; return 301 https://$server_name:8888$request_uri; }
3、向下滚动至文件末尾,在最后一个 } 符号前插入另一段server配置:
server { listen 8888 ssl; server_name panel.example.com; ssl_certificate /www/server/panel/vhost/nginx/panel-ssl/your_cert.pem; ssl_certificate_key /www/server/panel/vhost/nginx/panel-ssl/your_key.key; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384; location / { proxy_pass https://127.0.0.1:8888; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
4、点击「保存」,返回Nginx设置页,点击「重载配置」。
五、验证HTTPS生效与证书状态
配置完成后需立即验证终端连接安全性与证书有效性,避免因证书链缺失、域名不匹配或时间偏差导致浏览器拦截。验证过程不依赖第三方工具,全部通过浏览器原生能力完成。
1、在Chrome或Edge浏览器中访问 https://您的面板地址:8888。
2、点击地址栏左侧的「锁形图标」,选择「连接是安全的」→「证书有效」。
3、在弹出窗口中检查「有效期」是否覆盖当前日期、「颁发给」字段中的域名是否与您访问地址完全一致。
4、点击「证书路径」标签页,确认根证书显示为「DST Root CA X3」或「ISRG Root X1」(Let’s Encrypt),且无红色警告图标。
5、打开开发者工具(F12),切换至「Security」选项卡,查看「Connection」项是否显示Protocol: TLS 1.3 及Key Exchange: ECDHE。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
137 收藏
-
379 收藏
-
100 收藏
-
138 收藏
-
253 收藏
-
239 收藏
-
131 收藏
-
167 收藏
-
412 收藏
-
419 收藏
-
441 收藏
-
307 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习