宝塔自动化脚本批量申请免费SSL证书,新手也能直接操作

核心答案:
宝塔面板内置的 acme.sh 脚本或 Let's Encrypt 插件支持自动化批量申请免费SSL证书,
只需在 SSH 执行一条命令或在面板后台配置任务计划,
即可为多个域名或子域名统一续期,
无需手动操作。

适用场景:谁需要批量申请 SSL?

如果你在服务器上运行着十几个甚至上百个网站,每个站点都手动申请一次证书,不仅效率低、还容易漏掉续期。
使用宝塔的自动化脚本,可以一次性申请多个域名(包括泛域名),配合任务计划实现自动续期,降低因证书过期导致的安全警告。

前置准备:运行环境检查

  1. 确保宝塔面板已安装并正常运行(推荐 7.4 以上版本)。
  2. 域名已解析到当前服务器 IP,且已添加网站站点。
  3. 登录宝塔后台,进入“软件商店”,确认“Nginx”或“Apache”已开启 SSL 支持。
  4. 开放 80 和 443 端口(Let's Encrypt 验证需 80 端口)。
如果你用的是泽御云(zeyuyun.com)的云服务器,默认安全组已放行这些端口,无需额外配置。

操作方法一:面板自带批量申请(推荐新手)

  1. 进入宝塔面板 → “网站” → 勾选需要申请证书的站点(可多选)。
  2. 点击顶部“SSL” → “Let's Encrypt” → 在“域名”中选择对应的域名(每行一个)。
  3. 点击“申请”按钮,面板会自动调起 acme.sh 脚本,逐个验证并下发证书。
  4. 申请成功后,面板会自动启用 SSL 并保存证书。

批量操作要点: 如果勾选了多个站点,面板会遍历每个站点的域名列表合并去重后一次性提交。
建议每次批量域名不超过 50 个,否则可能触发 Let's Encrypt 速率限制(每周 50 个证书/账户)。

操作方法二:SSH 命令行批量执行(适合进阶)

宝塔面板默认安装了 acme.sh,可直接在终端调用。
以下命令可在 SSH 中批量申请多个域名:

# 登录服务器后执行(替换邮箱地址)
curl https://get.acme.sh | sh -s email=your@email.com
# 申请证书(可写多个 -d 参数)
~/.acme.sh/acme.sh --issue -d example.com -d www.example.com -d api.example.com --webroot /www/wwwroot/example.com
  • --webroot 需指向站点根目录,也可以使用 -w /www/wwwroot 通配路径。
  • 申请成功后,证书默认保存到 ~/.acme.sh/ 下。

如需批量给多个域名根目录不同的站点申请,建议写一个简单的 bash 循环脚本。

避坑指南:常见错误与解决

1. 速率限制: Let's Encrypt 每周每个账户最多申请 50 个证书。如果报错“too many certificates already issued”,请暂停当天操作,或使用其他 CA(如 ZeroSSL)。
2. 域名验证失败: 确保域名解析正确,且服务器 80 端口可被外部访问。如果使用 CDN 代理,需临时关闭全站加速。
3. 证书文件路径错误: 自动申请后若网站 SSL 未生效,检查面板站点 SSL 设置中的证书文件是否已正确绑定。
4. 续期任务未执行: 宝塔任务计划默认每天检测一次证书有效期。可手动运行命令 ~/.acme.sh/acme.sh --cron 测试。

效果验证:确保证书已生效

申请完成后,通过以下方式验证:

  • 浏览器访问 https://你的域名,地址栏显示安全锁。
  • 使用在线检测工具(如 SSL Labs)检查证书链完整性。
  • 在宝塔面板“网站→SSL”中查看证书到期时间,确认与 Let's Encrypt 发放记录一致。
  • 执行命令:echo | openssl s_client -connect 你的域名:443 -servername 你的域名 2>/dev/null | openssl x509 -noout -dates 查看证书有效期。

常见问题解答

1. 宝塔面板批量申请 SSL 证书需要手动续期吗?
不需要。面板默认每天自动执行 acme.sh 续期脚本,只要域名解析不变且服务器可达,证书会在到期前自动更新。2. 一个证书可以包含多个主域名吗?
可以。Let's Encrypt 支持 SAN(Subject Alternative Name)证书,将多个域名放在同一个证书的 -d 参数中即可。3. 宝塔脚本批量申请时提示“Order contains no identifiers”怎么办?
通常是因为输入的域名列表为空或格式有误(不可带空格、协议头)。请检查每个域名是否单独一行,且无多余字符。4. 免费证书和付费证书有什么区别?
免费 Let's Encrypt 证书有效期为 90 天,自动续期后无额外成本;付费证书有效期通常更长(1年),但宝塔自动化脚本已能无缝管理免费证书的续期,对普通站点而言体验差异不大。

分享到:
上一篇
用 Crontab 定时任务自动清理站点无用日志文件
下一篇
数据库读写分离搭建高并发外贸商城站点
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意