acme.sh命令行界面:参数解析和使用技巧

acme.sh命令行界面:参数解析和使用技巧

【免费下载链接】acme.sh A pure Unix shell script implementing ACME client protocol 【免费下载链接】acme.sh 项目地址: https://gitcode.com/GitHub_Trending/ac/acme.sh

acme.sh是一款纯Unix shell脚本实现的ACME(Automated Certificate Management Environment,自动化证书管理环境)客户端协议工具,能帮助用户轻松获取和管理SSL/TLS证书。本文将详细解析其命令行参数,分享实用使用技巧,让普通用户及运营人员也能快速上手。

核心功能参数

acme.sh的命令行参数丰富,涵盖证书的申请、部署、更新等全生命周期管理。通过acme.sh文件可知,最常用的核心功能参数如下:

参数功能描述
--install将acme.sh安装到系统中
--uninstall卸载acme.sh并移除定时任务
--upgrade将acme.sh升级到最新版本
--issue申请新证书
--deploy将证书部署到服务器
--renew-allRenew(续签)所有证书
--revoke吊销证书
--list列出所有已获取的证书

这些参数是使用acme.sh的基础,掌握它们能完成证书管理的主要操作。

证书申请参数

申请证书是acme.sh的核心功能之一,有多种方式可供选择,适应不同的服务器环境和需求:

独立模式(Standalone Mode)

当服务器上没有运行Web服务时,可使用独立模式,acme.sh会临时启动一个Web服务器来完成域名验证。相关参数为--standalone,例如:

acme.sh --issue --standalone -d example.com

Apache模式

如果服务器运行着Apache Web服务,可使用--apache参数,acme.sh会自动配置Apache来完成验证,无需停止服务,示例:

acme.sh --issue --apache -d example.com

DNS模式

对于无法通过Web服务验证的场景,如获取泛域名证书,DNS模式是理想选择。使用--dns参数,可配合各种DNS服务商的API实现自动添加验证记录,也可手动添加。例如使用手动DNS模式:

acme.sh --issue --dns -d example.com

执行后,按照提示手动添加TXT记录,等待验证完成即可。acme.sh支持众多DNS服务商的API,相关脚本位于dnsapi/目录下,可根据自己使用的DNS服务商选择对应API。

证书部署参数

获取证书后,需要将其部署到Web服务器等应用中才能生效。acme.sh提供了便捷的部署参数,还支持多种服务器的部署脚本,位于deploy/目录,如Nginx、Apache等。

部署文件指定

可通过以下参数指定证书文件的部署路径:

  • --cert-file <file>:指定证书文件路径
  • --key-file <file>:指定密钥文件路径
  • --fullchain-file <file>:指定完整证书链文件路径

例如将证书部署到Nginx的配置目录:

acme.sh --deploy -d example.com --cert-file /etc/nginx/ssl/cert.pem --key-file /etc/nginx/ssl/key.pem --fullchain-file /etc/nginx/ssl/fullchain.pem --reloadcmd "nginx -s reload"

自动重载服务

--reloadcmd <command>参数可在证书部署后自动执行服务重载命令,确保新证书生效,如上述示例中的nginx -s reload就是重载Nginx服务的命令。

高级配置参数

除了基础功能,acme.sh还提供了一些高级配置参数,满足特定需求:

服务器指定

使用--server <server_uri>参数可指定ACME服务器,默认使用ZeroSSL。如果需要使用Let's Encrypt,可指定其服务器地址,例如:

acme.sh --issue -d example.com --server https://acme-v02.api.letsencrypt.org/directory

日志配置

--log <file>参数可指定日志文件路径,--log-level <1|2>设置日志级别(1为基本日志,2为详细日志),方便问题排查和跟踪操作记录。

证书有效期设置

虽然ACME证书通常有效期为90天,但可通过相关参数(具体可参考acme.sh文件)结合定时任务来管理证书的自动续签,确保证书始终有效。

使用技巧

安装与升级

安装acme.sh非常简单,执行acme.sh --install即可。安装完成后,会自动创建定时任务,定期检查证书是否需要续签。要升级acme.sh,只需运行acme.sh --upgrade

批量管理证书

--list参数可列出所有已管理的证书,方便查看证书状态。--renew-all则能一键续签所有即将过期的证书,简化多证书管理流程。

结合部署脚本

deploy/目录下的各种部署脚本为不同服务器环境提供了便利。例如部署到Nginx,可参考deploy/nginx.sh脚本中的方法,实现证书的自动部署和服务重载。

通知配置

acme.sh支持证书续签等事件的通知功能,相关通知脚本位于notify/目录,可配置邮件、钉钉等多种通知方式,及时了解证书状态变化。

通过本文的介绍,相信你对acme.sh的命令行参数和使用技巧有了全面的了解。合理运用这些参数和技巧,能让SSL/TLS证书的管理变得高效而轻松。赶紧尝试使用acme.sh来管理你的证书吧!

【免费下载链接】acme.sh A pure Unix shell script implementing ACME client protocol 【免费下载链接】acme.sh 项目地址: https://gitcode.com/GitHub_Trending/ac/acme.sh

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值