开通 Google Public CA API
获取 EAB 密钥 ID 和 HMAC
登录你的 GCP 控制台面板,进入 Public Certificate Authority API 管理页面点击启动:
在 Cloud Shell 中输入:
1
| gcloud publicca external-account-keys create
|
中途弹窗点击授权之后会返回下列格式的信息,记录下来后面会用到:
1 2 3
| Created an external account key [b64MacKey: xxxxxxxxxxxxxxxxxxxxxxx keyId: xxxxxxxxxxxxxxx]
|
申请证书
安装 acme.sh
1
| curl https://get.acme.sh | sh
|
签发证书
获取 Cloudflare API,可以自己选择全局 API 还是单域 API,建议创建单域 API 并限制访问 IP 以提高安全性,获取到 API 后注意保存,然后导入:
1
| export CF_Token="xxxxxxxxxxxxxxxxxxxxxxxx"
|
or
1 2
| export CF_Account_ID="xxxxxxxxxxxxxxxxxxxxxxxx" export CF_Zone_ID="xxxxxxxxxxxxxxxxxxxxxxxx"
|
其中 CF_Token 为你获取到的 API 密钥,CF_Account_ID 和 CF_Zone_ID 可以在你域名概述页面侧边栏的 API 分栏看到。
向 Google Public CA 注册 ACME 帐号
1 2 3
| acme.sh --register-account -m [邮箱] --server google \ --eab-kid [申请到的 keyId] \ --eab-hmac-key [申请到的 b64MacKey]
|
设置默认 CA
1
| acme.sh --set-default-ca --server google
|
签发证书
1
| acme.sh --issue --dns dns_cf -d example.org -d "*.example.org"
|
安装证书
1 2 3 4 5
| acme.sh --install-cert -d example.com \ --cert-file /path/to/ssl/cert.pem \ --key-file /path/to/ssl/private.pem \ --fullchain-file /path/to/ssl/fullchain.pem \ --reloadcmd "service [your service] reload"
|