lala.im:使用Certbot申请Google证书

運維技術·lala.im · 2022-04-18 · 84 人浏览

原文地址:https://lala.im/8337.html,請支持原作者!該處僅作轉載。

前几天看到的消息,我当时就申请试了下,直接给我那个mattermost的聊天室部署上了,不过一直没空水文章。。今天把整个申请和配置的步骤记录一下。
首先要在这里填写一个申请表:
https://docs.google.com/forms/d/e/1FAIpQLSd8zUIww_ztyT9a56OPq9NXISiyw6Y9g8S7LBtRQjxPhsHz5A/viewform?ts=620a6854
里面有一个Google Cloud Project ID,这个是必须要填的,在你的GCP控制台-信息中心-项目信息可以查看到:

範例
等差不多半天吧,Google那边审核通过后,邮箱里面会收到一封这样的邮件:

範例
现在在GCP控制台的右上角打开CloudShell,执行下面的命令切换到你当时申请时填写的项目ID:

gcloud config set project 项目ID

启用Public CA API:

gcloud services enable publicca.googleapis.com

申请EAB密钥ID和HMAC:

gcloud beta publicca external-account-keys create

申请成功的话,回显类似:

Created an external account key
[b64MacKey: xxxxx
keyId: xxxxx]

这里注意这个EAB密钥是有使用期限的,获得后的7天内得使用一次,如果在7天内未使用会失效。
另外使用EAB密钥注册的ACME帐户是没有过期时间的。
有了EAB密钥ID和HMAC后就可以用Certbot注册ACME账户了:

certbot register \
    --email "[email protected]" \
    --no-eff-email \
    --server "https://dv.acme-v02.api.pki.goog/directory" \
    --eab-kid "xxxxx" \
    --eab-hmac-key "xxxxx"

注册完成后就可以像往常一样申请证书了,这里假设给你的现有Nginx站点申请Google证书,可以使用下面的命令:

certbot --nginx --server "https://dv.acme-v02.api.pki.goog/directory"

这个是基于HTTP-01的验证方式,如果你要申请通配符证书得使用DNS-01的验证方式,这里就不演示了。
申请下来的证书长这样:

範例

運維技術 lala.im
Theme Jasmine by Kent Liao