当前位置:网站首页 >  攻略

宝塔面板Let's Encrypt免费SSL证书申请安装教程

时间:2026年05月29日 07:17:50 来源:易频IT社区

一、前置环境检查与配置

在正式开始申请SSL证书之前,必须确保服务器环境和域名状态满足申请条件。Let's Encrypt对服务器的网络环境有严格要求,任何前置条件的缺失都会导致申请失败。请按照以下步骤逐一检查。

1. 域名解析检查

SSL证书申请必须针对已解析的域名进行。请确保你的域名A记录已正确指向当前服务器的公网IP地址。

打开本地终端(CMD或PowerShell),执行以下命令进行检测:

``` ping yourdomain.com ```

yourdomain.com 替换为你的实际域名。如果返回的IP地址与你的宝塔面板服务器IP一致,则说明解析生效。如果解析未生效或指向了错误IP,请前往域名服务商(如阿里云、腾讯云、Cloudflare等)后台修改DNS解析记录。

2. 服务器端口放行

Let's Encrypt申请验证过程中,需要通过服务器的 80端口(HTTP)或 443端口(HTTPS)进行鉴权。如果这两个端口被防火墙拦截,申请将无法通过。你需要检查两个层面的防火墙设置:

  • 云厂商安全组: 登录阿里云、腾讯云、华为云等服务器控制台,找到安全组设置,确保入方向规则中已放行TCP 80端口和TCP 443端口。
  • 宝塔面板防火墙: 登录宝塔面板,点击左侧菜单 安全。在防火墙设置页,检查80和443端口是否在放行列表中。如果未放行,点击右上角 添加放行端口规则,输入80和443,备注填写“SSL验证”,点击确定。

二、宝塔面板添加站点

如果尚未在宝塔面板中创建该站点,请先完成创建。如果站点已存在,请直接跳至第三章。

1. 创建站点流程

登录宝塔面板,点击左侧菜单 网站,点击右上角的 添加站点 按钮。

在弹出的对话框中填写以下信息:

  • 域名: 填写你的域名,例如 www.yourdomain.com。建议同时填写根域名 yourdomain.com,两者用空格隔开,以便同时覆盖。
  • 根目录: 默认即可,通常为 /www/wwwroot/www.yourdomain.com
  • FTP: 如果不需要通过FTP管理文件,建议选择“不创建”以提高安全性。
  • 数据库: 根据项目需求选择MySQL或纯静态,若不需要数据库则选择“不创建”。
  • PHP版本: 根据项目程序要求选择,纯静态网站选择“纯静态”即可。

填写完毕后,点击 提交。等待几秒钟,站点创建成功。

三、申请Let's Encrypt免费证书

宝塔面板内置了Let's Encrypt申请插件,这是目前最便捷的免费SSL证书获取方式。该证书有效期为90天,但宝塔面板会自动处理续期逻辑,无需人工频繁干预。

1. 进入SSL设置页面

在网站列表中,找到你刚刚创建的站点,点击右侧操作栏的 设置 按钮。在弹出的站点设置窗口中,点击左侧菜单的 SSL 选项卡。

2. 选择Let's Encrypt证书类型

在SSL设置页面,你会看到多个证书选项卡。点击 Let's Encrypt 选项卡。

3. 配置申请参数

在Let's Encrypt申请界面,需要进行以下配置:

  • 域名验证方式: 默认为“文件验证”。这是最简单的方式,宝塔会自动在网站根目录生成验证文件。如果你的服务器80端口无法访问,或者还未在宝塔创建站点,可以选择“DNS验证”,但操作较繁琐。本指南以最常用的“文件验证”为例。
  • 申请域名: 系统会自动列出该站点绑定的所有域名。确保你想要开启HTTPS的域名前的复选框已被 勾选
  • 强制HTTPS: 建议先不勾选此项,待证书申请成功并确认无误后,再通过配置文件开启强制跳转,这样更稳妥。

4. 提交申请

配置确认无误后,点击 申请 按钮。此时按钮会变为“申请中...”,请耐心等待。

注意: 申请过程中,Let's Encrypt的官方服务器会连接你的服务器80端口进行验证。如果申请失败,请重点检查域名解析是否生效、服务器80端口是否放行、以及宝塔面板的伪静态规则是否干扰了验证文件的访问(建议先关闭伪静态进行申请)。

5. 申请成功确认

如果看到提示“证书已成功保存”,说明申请成功。此时,证书状态 应显示为“正常”,且可以看到证书的到期时间(通常为3个月后)。

四、开启强制HTTPS跳转

证书申请成功后,网站已同时支持HTTP和HTTPS访问。为了全站安全性,需要将所有HTTP请求自动重定向至HTTPS。

1. 使用面板开关开启(基础方式)

宝塔面板Let

在SSL设置页面,找到右上角的 强制HTTPS 开关,点击将其开启。系统会自动在配置文件中插入跳转规则。开启后,尝试在浏览器地址栏输入 http://yourdomain.com,观察是否自动跳转至 https://yourdomain.com

2. 手动配置Nginx重写规则(推荐方式)

为了更精准的控制跳转逻辑,建议手动修改配置文件。在网站设置页面,点击左侧 配置文件 选项卡。

找到 server 监听 80端口 的代码块(通常在文件最上方),将 server_name 下方原有的内容清空或注释掉,添加以下代码:

``` server { listen 80; server_name yourdomain.com www.yourdomain.com; return 301 https://$host$request_uri; } ```

这段代码的含义是:当用户访问80端口时,直接返回301状态码,并将请求重定向到 https://$host$request_uri,从而保持用户输入的完整路径(如 /article/123)不变,仅改变协议头。

修改完成后,点击 保存。配置文件修改会自动重载Nginx服务,无需手动重启。

五、证书自动续期配置

Let's Encrypt证书的有效期只有90天,如果不续期,网站会报错。宝塔面板默认已设置了自动续期任务,但为了确保万无一失,建议检查一下计划任务。

1. 检查计划任务

点击宝塔面板左侧菜单的 计划任务。在任务列表中查找类型为“证书续期”的任务。

2. 手动添加续期任务(如不存在)

如果列表中没有相关任务,点击 添加任务

  • 任务类型: 选择“证书续期”。
  • 执行周期: 选择“每天 N小时”,建议设置在凌晨流量低峰期,如“每天 03:00”。
  • 保留策略: 默认即可。

点击 提交。这样系统每天都会检查证书有效期,并在到期前自动尝试续期。

六、SSL安全性优化配置

默认的SSL配置可能存在安全隐患,建议对Nginx配置进行进一步优化,启用HSTS和更安全的加密套件。

回到网站设置的 配置文件 选项卡,找到监听 443端口server 块。在 server_name 下方添加以下配置:

``` add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; ```

配置详解:

  • Strict-Transport-Security (HSTS): 告诉浏览器在接下来的一年(31536000秒)内,必须通过HTTPS访问该网站,即使用户手动输入HTTP,浏览器也会自动修正。
  • ssl_protocols: 仅启用TLS 1.2和1.3协议,禁用已不安全的SSL v2/v3和TLS 1.0/1.1。
  • ssl_ciphers: 指定加密算法套件,优先使用高强度加密算法。

修改后点击 保存

七、最终效果验证

完成以上所有步骤后,最后的工作是验证SSL证书是否生效且安全评级达标。

1. 浏览器验证

打开Chrome或Edge浏览器,访问 https://yourdomain.com

  • 查看地址栏左侧是否出现 锁形图标
  • 点击锁形图标,选择“连接是安全的” -> “证书有效”,查看颁发者是否为“Let's Encrypt”,以及有效期是否正确。

2. 在线工具深度验证

为了排查潜在的配置问题,建议使用SSL Labs的在线测试工具。

访问 https://www.ssllabs.com/ssltest/,输入你的域名进行测试。等待几分钟后,如果评级达到 A+,说明SSL证书申请、安装及安全配置均已完美完成。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图