安装Acme.sh证书申请脚本
先安装依赖socat

debian: apt install socat
centos: yum install socat

运行以下命令,安装Acme.sh证书申请脚本

curl https://get.acme.sh | sh -s [email protected]

切换默认证书签发的CA机构为下面三家的任何一家
Let’s Encrypt (签发速度快、稳定)

bash ~/.acme.sh/acme.sh --set-default-ca --server letsencrypt

ZeroSSL (稳定、但部分情况无法签发)

bash ~/.acme.sh/acme.sh --set-default-ca --server zerossl

Buypass

bash ~/.acme.sh/acme.sh --set-default-ca --server buypass

设置Acme.sh自动更新,始终与官方保持一致

bash ~/.acme.sh/acme.sh --upgrade --auto-upgrade

使用CloudFlare API Key申请SSL证书
很多教程会让你用 Cloudflare 的全局 Global API Key,真的是,风险太大了,最后怎么被黑的都不知道 = =

export CF_Token="复制下来的 Token"
export CF_Account_ID="复制下来的 Account ID"
export CF_Zone_ID="复制下来的 Zone ID"

运行一下命令
单域名
IPv4 或原生双栈VPS

bash ~/.acme.sh/acme.sh --issue --dns dns_cf -d "域名" -k ec-256
IPv6

bash ~/.acme.sh/acme.sh --issue --dns dns_cf -d "域名" -k ec-256 --listen-v6

泛域名
IPv4 或原生双栈VPS

bash ~/.acme.sh/acme.sh --issue --dns dns_cf -d "*.域名" -d "域名" -k ec-256
IPv6

bash ~/.acme.sh/acme.sh --issue --dns dns_cf -d "*.域名" -d "域名" -k ec-256 --listen-v6

安装域名证书
由于acme.sh的证书不能直接使用,因此我们需要安装证书

单域名

bash ~/.acme.sh/acme.sh --install-cert -d "域名" --key-file /root/private.key --fullchain-file /root/cert.crt --ecc

泛域名

bash ~/.acme.sh/acme.sh --install-cert -d "*.域名" --key-file /root/private.key --fullchain-file /root/cert.crt --ecc

运行此命令后,
证书crt路径为/root/cert.crt
私钥key路径为/root/private.key

查看目前申请的证书

bash ~/.acme.sh/acme.sh --list

撤销目前申请的证书

bash ~/.acme.sh/acme.sh --revoke -d "域名" --ecc
bash ~/.acme.sh/acme.sh --remove -d "域名" --ecc

手动续期证书

bash ~/.acme.sh/acme.sh --renew -d "域名" --force --ecc

卸载Acme.sh脚本

bash ~/.acme.sh/acme.sh --uninstall