登录
首页 >  文章 >  php教程

宝塔面板SSL配置教程:开启HTTPS安全访问

时间:2026-04-05 08:02:12 281浏览 收藏

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

宝塔面板安装后如何配置SSL安全访问?开启宝塔面板HTTPS登录

如果您已完成宝塔面板安装,但访问面板地址(如 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.3Key Exchange: ECDHE

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>