跨境独立站多站点统一SSL证书批量配置

如果你同时运营多个跨境独立站,每到证书续期时挨个手动操作会非常低效。
本文提供一套可批量配置统一SSL证书的方案,基于acme.sh工具配合DNS API实现多域名自动申请和续期,零基础也能按步骤完成。

适用场景与前提条件

这套方案适合下列情况:

  • 你有多个独立站域名,全部指向同一台或同一组服务器。
  • 希望一次性完成所有站点的证书申请,并自动续期。
  • 你拥有域名DNS管理权限,并支持API操作(例如阿里云、腾讯云、Cloudflare等)。

操作前请确认:

  • 服务器已安装Ubuntu 20.04+或CentOS 7+,并具备sudo权限。
  • Nginx或Apache已经配置好各站点的虚拟主机。
  • 域名解析已生效。

第一步:安装acme.sh

acme.sh是一个纯Shell脚本的SSL证书自动管理工具,支持数十种DNS API。

curl https://get.acme.sh | sh -s email=youremail@example.com

安装完成后重新加载Shell配置:

source ~/.bashrc

验证安装:

acme.sh --version

第二步:配置DNS API凭证

以阿里云DNS为例,登录阿里云控制台获取AccessKey和SecretKey,然后设置环境变量:

export Ali_Key="你的AccessKey"
export Ali_Secret="你的SecretKey"

如果是Cloudflare,对应变量为CF_TokenCF_Account_ID
具体变量名请查阅acme.sh官方dnsapi文档。

注意:建议将变量写入~/.bashrc~/.acme.sh/account.conf,防止每次重开终端丢失。

第三步:批量申请SSL证书

假设你有三个站点:example1.comexample2.comexample3.com,可以使用--issue-d参数一次为多个域名申请。
其中第一个域名会被当作主域名,生成的证书文件夹以此命名。

acme.sh --issue --dns dns_ali -d example1.com -d www.example1.com -d example2.com -d www.example2.com -d example3.com -d www.example3.com

若你使用泛域名证书,只需每个主域名一个通配符:

acme.sh --issue --dns dns_ali -d *.example1.com -d *.example2.com -d *.example3.com

证书申请成功后,会在~/.acme.sh/下生成对应文件夹。

第四步:部署证书到Web服务器

以Nginx为例,将证书文件复制到站点目录,并修改每个站点的配置。
可以写一个循环脚本批量操作,这里演示手动步骤:

# 获取证书路径
acme.sh --install-cert -d example1.com \
--key-file       /etc/nginx/ssl/example1.com.key  \
--fullchain-file /etc/nginx/ssl/example1.com.pem \
--reloadcmd     "service nginx force-reload"

其他域名重复执行,替换域名。
若你希望更自动化,可以把全部域名写入一个数组,循环处理。

Nginx站点配置示意(/etc/nginx/sites-available/example1.com.conf):

server {
    listen 443 ssl;
    server_name example1.com www.example1.com;

    ssl_certificate     /etc/nginx/ssl/example1.com.pem;
    ssl_certificate_key /etc/nginx/ssl/example1.com.key;

    # 其他配置...
}

修改后重载Nginx:

nginx -t && systemctl reload nginx

避坑指南

  1. 速率限制:Let's Encrypt每周每域名限制50个证书。一次性申请太多域名可能触发软限制,建议单个证书包含不超过10个域名。
  2. DNS API权限:确保密钥只具有DNS修改权限,不要使用主账号密钥。
  3. 泛域名证书注意事项:泛域名不支持裸域名,需额外为example.com单独添加一条记录。
  4. 续期测试:acme.sh默认每天自动检测续期,但建议首次手动测试一次:
   acme.sh --renew -d example1.com --force

确认无报错。

效果验证

  1. 在浏览器中访问每个站点的https://yourdomain.com,查看地址栏小锁标志。
  2. 使用OpenSSL命令检查证书信息:
   echo | openssl s_client -connect example1.com:443 -servername example1.com 2>/dev/null | openssl x509 -noout -subject -dates

输出应包含所有域名和正确的有效期。

  1. 查看证书链完整性:访问https://www.ssllabs.com/ssltest/输入域名进行在线检测,评分A以上为佳。

常见问题FAQ

Q:使用其他DNS服务商(如Godaddy、Namecheap)能支持吗?
A:acme.sh支持超过100种DNS API,大部分主流服务商都已涵盖。使用前只需设置对应的环境变量,具体参数可参考acme.sh官方wiki。

Q:证书快过期时acme.sh会自动续期吗?
A:会。acme.sh安装后会自动添加crontab任务,每天检测证书剩余天数,到期前30天内自动续期。你只需确保DNS API凭证在续期时仍然有效。

Q:服务器有多个IP或使用CDN怎么办?
A:本方案仅依赖DNS验证,与服务器IP无关,因此即使站点分布在多台服务器或使用CDN,依然可以统一申请证书。但证书生成后,你需要将证书部署到每台实际提供服务的机器上。

如果你正在处理跨境独立站多站点SSL证书批量配置,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。
掌握自动批量配置后,你每月维护证书的时间可以缩短到几分钟。

分享到:
上一篇
家用住宅主机Linux脚本监控服务器告警
下一篇
外贸站宝塔面板防XSS跨站脚本攻击
1
系统公告

机房迁移升级通知

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