ESC

开始输入,可搜索发票、服务、域名、工单,以及 更多...

搜索... Ctrl+K
宝塔面板

宝塔面板建站与申请免费 SSL 证书教程:添加站点、域名解析、Let's Encrypt 与强制 HTTPS

5 个步骤 6 分钟阅读 1 次阅读 0
本文目录

装好宝塔面板后,下一步通常就是建站和配置 HTTPS。本文以 Nginx 环境为例,介绍如何在宝塔面板中添加站点、解析域名、上传网站文件,并一键申请 Let's Encrypt 免费 SSL 证书、开启强制 HTTPS。宝塔中文版与国际版 aaPanel 操作基本相同,适用于在 Debian/Ubuntu、CentOS/Rocky/AlmaLinux 上运行宝塔面板的服务器。

开始前请确认已在宝塔中安装 Web 服务器(Nginx 或 Apache)和 PHP,如需数据库也请安装 MySQL;并确认系统防火墙已放行 80 与 443 端口。

步骤 1:将域名解析到服务器 IP

在域名注册商或 DNS 服务商的控制台中,为主域名和 www 各添加一条 A 记录,记录值填写服务器的公网 IPv4 地址(如有 IPv6 可再添加 AAAA 记录)。解析生效一般需要几分钟到数小时,可以在服务器或本地用以下命令检查:

dig +short example.com A
dig +short www.example.com A
nslookup example.com

如果系统没有 dig 命令,Debian / Ubuntu 执行 apt install -y dnsutils,CentOS / Rocky / AlmaLinux 执行 yum install -y bind-utils。返回的 IP 与服务器一致后再进行下一步,否则 SSL 证书验证会失败。

如果域名开启了 CDN 代理(例如“橙色云朵”),文件验证可能失败。申请证书时建议先关闭代理(仅 DNS),或改用 DNS 验证方式。

步骤 2:在宝塔面板添加站点

登录宝塔面板,进入左侧“网站”菜单,点击“添加站点”:

  • 域名:每行一个,例如 example.com 和 www.example.com;
  • 根目录:默认为 /www/wwwroot/example.com,一般保持默认即可;
  • 数据库:如建站程序(如 WordPress)需要,可同时创建 MySQL 数据库,记下数据库名、用户名和密码;
  • PHP 版本:选择程序要求的版本,纯静态网站可选“纯静态”。

提交后,宝塔会自动生成 Nginx 站点配置。此时在浏览器访问 http://example.com,应能看到宝塔默认的“恭喜,站点创建成功”页面。也可以在服务器上快速检查:

curl -I http://example.com

步骤 3:上传网站程序

通过宝塔“文件”菜单进入站点根目录,上传网站压缩包后右键解压;也可以使用 SFTP 工具上传。上传完成后建议修正文件属主,避免出现权限错误:

chown -R www:www /www/wwwroot/example.com
find /www/wwwroot/example.com -type d -exec chmod 755 {} \;
find /www/wwwroot/example.com -type f -exec chmod 644 {} \;

注意删除根目录中宝塔自动生成的默认 index.html,否则可能一直显示默认页面。

步骤 4:一键申请 Let's Encrypt 免费 SSL 证书

在“网站”列表中点击站点的“设置”(或站点名称),切换到“SSL”选项卡,选择“Let's Encrypt”:

  • 验证方式选择“文件验证”(需要域名已正确解析且 80 端口可访问);如果使用 CDN 或 80 端口不可用,选择“DNS 验证”并按提示添加 TXT 记录;
  • 勾选需要申请证书的域名(主域名与 www 均可勾选);
  • 点击“申请”,等待数十秒,成功后证书会自动部署到站点。

Let's Encrypt 证书有效期为 90 天,宝塔会通过计划任务在到期前自动续签。可以用以下命令检查证书有效期:

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -issuer -dates

步骤 5:开启强制 HTTPS

证书部署成功后,在 SSL 页面打开“强制 HTTPS”开关,所有 HTTP 访问会被 301 跳转到 HTTPS。宝塔实际是在站点 Nginx 配置中加入了类似下面的规则,如果你手动修改过配置,也可以自行添加到 server 段中:

if ($server_port !~ 443){
    rewrite ^(/.*)$ https://$host$1 permanent;
}

开启后用命令验证跳转是否生效:

curl -I http://example.com

看到 301 Moved Permanently 且 Location 指向 https 地址即表示成功。如果网站程序(如 WordPress)中保存的站点地址仍为 http,请同步修改为 https,避免出现“混合内容”警告。

常见问题

申请 SSL 证书提示验证失败怎么办?

请依次检查:域名是否已解析到本服务器 IP;80 端口是否在系统防火墙中放行;站点是否设置了禁止访问 /.well-known/ 的规则或防盗链;是否开启了 CDN 代理。也可以改用 DNS 验证方式。

开启强制 HTTPS 后网站出现重定向次数过多?

通常是 CDN 的 SSL 模式设为“灵活”导致回源使用 HTTP。请将 CDN 的 SSL 模式改为“完全”,或暂时关闭强制 HTTPS 排查。

Let's Encrypt 证书到期没有自动续签?

请在宝塔“计划任务”中确认续签任务存在且执行正常,并检查到期前域名解析与 80 端口是否发生了变化。也可在 SSL 页面手动点击续签。

如按以上步骤仍无法解决,请提交工单联系 IMIDC 7×24 技术支持,告知域名与报错信息,我们会协助排查。

这篇文章有帮助吗?

相关教程