acme.sh
安装
curl https://get.acme.sh | sh -s email=my@example.com
source ~/.bashrz
acme.sh --set-default-ca --server zerossl
acme.sh --set-default-ca --server letsencrypt
acme.sh --set-default-ca --server ssl.com
ZeroSSL
如果已有 ZeroSSL 帐号,可以在后台控制面板拿到 API Key,然后执行如下命令
apt install jq
curl -s -X POST "https://api.zerossl.com/acme/eab-credentials?access_key=你的API_Key" | jq
然后手工添加帐号
acme.sh --register-account --server zerossl \
--eab-kid kid字符串 \
--eab-hmac-key hmac_key字符串
google
gcloud config set project exalted-shape-348002
# exalted-shape-348002 修改为你的实际项目ID
gcloud projects add-iam-policy-binding exalted-shape-348002 \
--member=user:skyjuzheng@gmail.com \
--role=roles/publicca.externalAccountKeyCreator
# exalted-shape-348002 修改为你的实际项目ID,skyjuzheng@gmail.com 修改为你的谷歌邮箱地址
gcloud alpha publicca external-account-keys create
acme.sh --register-account -m skyjuzheng@gmail.com --server google \
--eab-kid aaaaaaaaaa \
--eab-hmac-key bbbbbbbb
acme.sh --issue --server google \
-d arick.com -d *.arick.com --dns dns_cf
域名指向服务器
启动nginx
acme.sh --issue -d mydomain.com -d *.mydomain.com --nginx
acme.sh --issue -d mydomain.com -d *.mydomain.com
证书保存完成
dns 模式 申请证书
export CF_Token=""
export CF_Email=""
export CF_Token="复制下来的 Token"
export CF_Account_ID="复制下来的 Account ID"
export CF_Zone_ID="复制下来的 Zone ID"
acme.sh --issue --dns dns_cf -d '*.arick.top' -d "arick.top"
安装域名证书到指定位置
bash /root/.acme.sh/acme.sh --install-cert -d '*.arick.top' \
--key-file /etc/nginx/ssl/arick.top.key \
--fullchain-file /etc/nginx/ssl/arick.top.pem \
--ca-file /etc/nginx/ssl/example.com.ca.crt \
对应的 Nginx 配置指定证书文件
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_trusted_certificate /etc/nginx/ssl/example.com.ca.crt;
scp /etc/nginx/ssl/arick.top.key hwhk.arick.top:/etc/nginx/ssl/arick.top.key
scp /etc/nginx/ssl/arick.top.pem hwhk.arick.top:/etc/nginx/ssl/arick.top.pem
scp /etc/nginx/ssl/arick.top.pem alising.arick.top:/etc/nginx/ssl/arick.pem
scp /etc/nginx/ssl/arick.top.key alising.arick.top:/etc/nginx/ssl/arick.key
google 证书 申请
acme.sh --register-account -m myemail@example.com --server google \
--eab-kid xxxxxxx \
--eab-hmac-key xxxxxxx
acme.sh --issue --server google \
-d example.com --dns dns_googledomains
方法2 指定根目录
/usr/share/nginx/html 为nginx默认目录
acme.sh --issue -d mydomain.com -d www.mydomain.com --webroot /usr/share/nginx/html
证书保存完成
Your cert is in: /root/.acme.sh/sing.arick.top_ecc/sing.arick.top.cer
ssl_certificate /root/.acme.sh/sing.arick.top_ecc/sing.arick.top.cer;
ssl_certificate_key /root/.acme.sh/sing.arick.top_ecc/sing.arick.top.key;