想要使用ACME.SH实现SSL证书的无限“续杯”,你需要在终端执行一些特定命令。curl https://get.acme.sh | sh
export DOMAIN="yourdomain.com"
acme.sh --issue --webroot /path/to/webroot -d $DOMAIN
acme.sh --issue --dns dns_cf -d $DOMAIN
acme.sh --issue --dns dns_tencent -d example.com -d *.example.com -d a.com --server https://acme-v02.api.letsencrypt.org/directory
dns dns_tencent:使用腾讯云dns插件,需要配置环境变量,下面配置环境变量的命令仅在当前窗口有效,请根据自己的服务器配置永久生效的环境变量export Tencent_SecretId="<id>"export Tencent_SecretKey="<key>"
acme.sh --install-cert -d $DOMAIN \--key-file /path/to/keyfile \--fullchain-file /path/to/fullchainfile \--reloadcmd "service nginx reload"
■ 实现自动续期
ACME.SH会自动检查证书的到期日期并在必要时进行续期。可通过以下命令手动触发续期测试:acme.sh --renew -d $DOMAIN --force
你也可以添加定时任务(cron job)以确保定期检查和续期:0 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
以上是ACME.SH使用流程的简单介绍,可点击查看详细指引。前面提到,ACME.SH作为一个强大且实用的证书管理工具,能通过一些指令实现证书的自动申请、安装和续期,支持多种验证方式,具有极高的灵活性。当然,最香的还是因为它免费。
然而,直呼ACME.SH真香的同时,它也存在一些限制和不足。ACME.SH通常只能签发DV(域名验证)证书,不支持信任度更高的OV(组织验证)和EV(扩展验证)证书。此外,ACME.SH也主要用于签发免费的SSL证书,而不常用于付费证书的申请和管理。
使用ACME.SH管理SSL证书,需要通过命令行完成。这对技术要求较高,复杂的配置过程可能让人望而却步。加上续期证书需要设置脚本的定时任务,这一过程相对复杂,需要手动确认和管理,如果续期过程出现问题,可能导致证书过期,也带来安全风险。传统型SSL证书的证书私钥和公钥可以直接下载到本地,直接上传到云平台绑定对应的云资源使用(例如绑定负载均衡、边缘加速产品等),通过ACME申请的证书私钥保存在客户端,无法直接上传到云平台使用。在服务器上配置密钥可能存在安全风险。如果密钥泄露,可能会给其他的系统带来安全隐患。其次,ACME.SH本身没有内置的监控功能,无法实时监控证书的状态和续期情况。如果出现证书过期或续期失败的情况,用户可能无法及时发现并处理,安全风险大大增加。由此看来,ACME.SH更适合一些开发者,技术爱好者去使用。如果你没有一定的技术能力,对安全性有更高的要求,追求更加便捷的操作,使用ACME.SH管理SSL证书可能并非是最佳选择。针对上述情况,D妹更推荐使用腾讯云推出的“一键HTTPS(基础版)”,一键HTTPS是腾讯云SSL证书与Web应用防火墙(WAF)合作开发的快速HTTPS方案,你无需进行繁琐的SSL证书部署操作,即可实现网站从HTTP到HTTPS升级,点击了解更多。