使用acme cloudflare api安装ssl证书
2 min read使用acme.sh和Cloudflare API安装SSL证书的过程如下:
安装acme.sh:在终端中运行以下命令即可安装acme.sh:
curl https://get.acme.sh | sh
获取Cloudflare API Key:登录Cloudflare控制面板,生成具有"Edit Zone DNS"和"Zone: Read"权限的API Key。
获取域名证书:运行以下命令以获取您的域名的SSL证书,请将"example.com"替换为您自己的域名,并将"CF_Key"和"CF_Email"替换为您的Cloudflare API Key和电子邮件地址:
export CF_Key="XXXXXXXXXXX"
export CF_Email="XXXXXXXXXXXXX"
acme.sh --issue -d example.com --dns dns_cf --dnssleep 20 --keylength 2048 --force
安装证书:运行以下命令以安装证书,请将"/path/to/cert.pem"、"/path/to/key.pem"和"/path/to/fullchain.pem"替换为您自己的证书路径:
acme.sh --install-cert -d example.com --cert-file /path/to/cert.pem --key-file /path/to/key.pem --fullchain-file /path/to/fullchain.pem --reloadcmd "service nginx reload"
这些步骤完成后,您就可以使用acme.sh和Cloudflare API获取并安装域名的SSL证书了。请注意,在使用acme.sh之前,请确保您已经拥有了域名的控制权,并且该域名能够从互联网访问到。
PS: 制作脚本
如果域名多,可写sh脚本,一键运行下载安装证书,例:
/home/username/.acme.sh/acme.sh --install-cert -d domain_name.net --key-file /var/acme_ssl/domain_name.net.key --fullchain-file /var/acme_ssl/domain_name.net.cer
# /home/username/.acme.sh/acme.sh --install-cert -d blog.domain_name.net --key-file /var/acme_ssl/blog.domain_name.net.key --fullchain-file /var/acme_ssl/blog.domain_name.net.cer
#/home/username/.acme.sh/acme.sh --install-cert -d pan.domain_name.net --key-file /var/acme_ssl/pan.domain_name.net.key --fullchain-file /var/acme_ssl/pan.domain_name.net.cer
/home/username/.acme.sh/acme.sh --install-cert -d mail.domain_name.net --key-file /var/acme_ssl/mail.domain_name.net.key --fullchain-file /var/acme_ssl/mail.domain_name.net.cer
#/home/username/.acme.sh/acme.sh --install-cert -d shop.domain_name.net --key-file /var/acme_ssl/shop.domain_name.net.key --fullchain-file /var/acme_ssl/shop.domain_name.net.cer
#/home/username/.acme.sh/acme.sh --install-cert -d store.domain_name.net --key-file /var/acme_ssl/store.domain_name.net.key --fullchain-file /var/acme_ssl/store.domain_name.net.cer
#/home/username/.acme.sh/acme.sh --install-cert -d erp.domain_name.net --key-file /var/acme_ssl/erp.domain_name.net.key --fullchain-file /var/acme_ssl/erp.domain_name.net.cer
#/home/username/.acme.sh/acme.sh --install-cert -d domain_name.xyz --key-file /var/acme_ssl/domain_name.xyz.key --fullchain-file /var/acme_ssl/domain_name.xyz.cer
# /home/username/.acme.sh/acme.sh --install-cert -d domain_name.work --key-file /var/acme_ssl/domain_name.work.key --fullchain-file /var/acme_ssl/domain_name.work.cer