## 准备工作
1.一个谷歌账号,能进GCP后台,有无赠金均可
2.你灵活的手
3.你智慧的大脑
4.富强民主文明和谐工具,没有的话别问我也不知道,可以找个海外的朋友帮忙
1.申请内测资格
先去GCP后台 新建一个项目,可以用默认的第一个项目也可以自己新建
然后复制显示的项目ID,一会有用
然后打开ACME API申请页面
按图填就行
然后就会进入审核流程,一般最多一两天就可以通过了
我这里等了两天收到了通过的邮件
2.获取注册密钥
2.1打开google cloud证书api
https://console.cloud.google.com/apis/library/publicca.googleapis.com?project=yourprojectid
把yourprojectid切换为你的project ID
直接点击”启用”按钮,应该会跳转到如下页面
2.2 创建API Key
在上个页面点击右上角激活Cloud Shell
没启用过的点下继续,这个不收钱,然后运行以下命令
1 | gcloud beta publicca external-account-keys create |
然后点击授权
如果第一次报错那就再跑一次
记住返回的b64MacKey和keyID,塞记事本里或者哪,以后有用
3.安装证书工具acme.sh
3.1下载acme.sh
在你服务器上跑
1 | curl https://get.acme.sh | sh -s |
提示安装成功后断开SSH重新链接
3.2使用凭据注册并且签发证书
注册账户API
1 | acme.sh --set-default-ca --server google |
申请SSL
1 | acme.sh --issue --dns -d <yourdomain> --yes-I-know-dns-manual-mode-enough-go-ahead-please |
接下来你需要去你的解析提供商那里,按照他的要求解析TXT记录
1 | [Fri 13 May 2022 02:02:19 AM UTC] Getting webroot for domain='zyglq.cn' |
这个每个人记录都不一样,这里演示的是我的域名,我就需要需要解析子域名为'_acme-challenge
的TXT记录,记录内容为_iUtBR7DMXGsbw9LaBE9TXDFgvI1ST4XMO9R4FNe
解析好后执行这个命令
1 | acme.sh --renew -d <yourdomain> --yes-I-know-dns-manual-mode-enough-go-ahead-please |
像下图这样就是ok了
一二行告诉的是你证书存储位置,可以直接把nginx配置文件的ssl证书改到这个文件,就能用了
4.进阶操作
acme.sh这个脚本支持许多进阶操作,其中我觉得很有用的就是可以设置DNS服务商的API来进行自动续签证书,设置方法可以参见官方wiki