HTTPS是在HTTP协议基础上加入SSL/TLS加密层的安全传输协议,能够有效防止网站数据传输过程中被窃听、篡改,还能验证网站身份,避免用户访问到仿冒站点。使用宝塔面板可以大幅简化HTTPS升级的操作流程,不需要手动修改复杂的服务器配置文件。

HTTPS升级前的准备工作
在正式操作之前,需要先确认几个前提条件,避免后续步骤出现错误:
- 服务器已经安装宝塔面板,并且可以正常登录管理后台
- 网站已经解析到当前服务器,并且域名状态正常,没有处于DNS暂停或者实名认证审核中的状态
- 服务器80端口和443端口处于开放状态,没有被防火墙或者安全组拦截
宝塔面板申请并部署SSL证书
宝塔面板内置了免费的SSL证书申请渠道,支持Let's Encrypt等主流免费证书,申请和部署可以一键完成:
步骤1:进入网站管理页面
登录宝塔面板后台,在左侧导航栏点击网站选项,找到需要升级HTTPS的站点,点击对应的设置按钮。
步骤2:申请SSL证书
在网站设置弹窗中,切换到SSL标签页,选择Let's Encrypt选项,勾选需要申请证书的域名,点击申请按钮。等待十几秒后,如果提示申请成功,系统会自动完成证书部署。
如果自动申请失败,也可以手动上传已有的SSL证书文件,在其他证书选项中分别粘贴证书内容和私钥内容,然后点击保存即可。
步骤3:开启强制HTTPS
证书部署完成后,勾选强制HTTPS选项,这样用户访问网站HTTP地址时会自动跳转到HTTPS地址,避免部分用户仍然使用不安全的HTTP协议访问。
配置完成后可以通过下面的简单代码验证HTTPS是否生效,在网站根目录创建test_https.php文件:
<?php
// 检查当前访问协议是否为HTTPS
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') {
echo '当前网站已启用HTTPS协议,连接安全';
} else {
echo '当前网站未启用HTTPS协议,连接不安全';
}
?>
HTTPS升级后的配置优化
完成基础部署后,还可以做一些优化提升安全性和兼容性:
配置HSTS安全策略
HSTS可以强制浏览器后续访问该网站时只能使用HTTPS,避免SSL剥离攻击。在宝塔面板的网站设置中,切换到配置文件标签页,在server块中添加如下配置:
# 开启HSTS,有效期31536000秒(1年),包含子域名,预加载到浏览器内置列表 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
更新网站内部资源链接
升级HTTPS后,需要检查网站内部的图片、JS、CSS等静态资源的链接,把原来的HTTP链接全部替换为HTTPS链接,或者改为相对协议链接,避免出现混合内容错误,导致浏览器提示网站不安全。
常见问题及解决方法
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| SSL证书申请失败 | 域名未正确解析、80端口未开放、域名实名认证未完成 | 检查域名解析记录,确认80端口开放,等待域名实名认证通过后再申请 |
| 开启强制HTTPS后网站打不开 | 证书部署错误、443端口未开放、配置文件语法错误 | 重新检查证书内容,确认443端口开放,检查nginx配置文件语法 |
| 浏览器提示混合内容错误 | 网站内存在HTTP协议的静态资源链接 | 批量替换网站内所有HTTP资源链接为HTTPS或者相对协议 |
HTTPS升级的安全价值
完成HTTPS升级后,网站的安全性会得到明显提升:
- 用户和服务器之间的所有数据传输都会被加密,即使被中间人截获也无法解密内容
- 浏览器地址栏会显示安全锁标识,提升用户对网站的信任度
- 主流搜索引擎会优先收录HTTPS站点,对网站SEO有一定帮助
- 符合部分行业的数据安全合规要求,避免因为传输不安全导致的合规风险
定期检查SSL证书的有效期,宝塔面板会自动续期Let's Encrypt证书,如果是手动上传的证书,需要提前关注有效期,避免证书过期导致网站无法访问。