AllinSSL——SSL证书一键(自动)续签部署

zhyuer

发布于134天前
你相信光吗
网站 SSL 证书每隔三个月就要更新一次,每次手动更新都会花费一定时间且麻烦,找了下懒猫应用商店有现成的应用可进行自动续签+部署到主机。

https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.allinssl


## 准备工作

### 设置告警通知(可选)

这里以 QQ 邮件通知为例

登录 QQ 邮箱,进入设置界面点击【账号与安全】菜单,点击【安全设置】找到“POP3/IMAP/SMTP/Exchange/CardDAV 服务(已开启)”配置项,点击生成授权码

![snip_1768890832349.png](https://dl.playground.lazycat.cloud/guidelines/964/efee3d3f-3547-4876-85fc-7498bb135266.png "snip_1768890832349.png")

授权码是 QQ 邮箱用于登录第三方客户端/服务的专用密码,适用于登录以下服务:POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务。

SMTP 设置方法

用户名/帐户: 你的 QQ 邮箱完整的地址

密码: 生成的授权码

电子邮件地址: 你的 QQ 邮箱的完整邮件地址

发送邮件服务器: smtp.qq.com,使用SSL,端口号465


![snip_1768891152177.png](https://dl.playground.lazycat.cloud/guidelines/964/eb089e91-fce4-49a6-8de0-6174ad38df0e.png "snip_1768891152177.png")

配置好后可以点击“测试”,看能否正常收发邮件。

### 授权 API 管理

**添加“主机提供商”**,后续申请证书后可自动部署到主机

![snip_1768891301805.png](https://dl.playground.lazycat.cloud/guidelines/964/97eef06c-6d07-439f-89f0-0547e864c17e.png "snip_1768891301805.png")

**添加“DNS提供商”**,这一步是 SSL 证书申请自动化的关键,我域名托管平台为 Cloudflare,请按你的实际情况配置

![snip_1768891338144.png](https://dl.playground.lazycat.cloud/guidelines/964/191eb337-a6d7-41ff-ba94-5c99d6b38c41.png "snip_1768891338144.png")

注意:创建 APIKey 时按最小权限配置

![snip_1768891520555.png](https://dl.playground.lazycat.cloud/guidelines/964/a42d15aa-9b6d-4204-8f10-301f9c37068f.png "snip_1768891520555.png")

### CA授权管理

编辑/添加 CA 授权,以 letsencrypt 和 google 为例

letsencrypt 直接填上一个联系邮箱即可
![snip_1768891990204.png](https://dl.playground.lazycat.cloud/guidelines/964/680637d1-e875-4e25-805f-10b545bd3068.png "snip_1768891990204.png")

google 需要获取对应的 ID 和 Key
![snip_1768892053718.png](https://dl.playground.lazycat.cloud/guidelines/964/fc27f20c-fa43-4f06-905a-ad561708433c.png "snip_1768892053718.png")


```js
获取 Google Public CA(Google Trust Services)的 EAB KID 和 HMAC Key 需要通过 Google Cloud Platform (GCP) 进行操作。目前 Google 没有提供像 ZeroSSL 那样直接在网页点击生成的按钮,你必须使用 Google Cloud SDK (gcloud 命令行)。

最简单的方法是使用 Google Cloud 网页版自带的 Cloud Shell,这样你无需在本地安装任何软件。

以下是详细步骤:

第一步:准备 Google Cloud 项目
登录 Google Cloud Console (谷歌云控制台 https://console.cloud.google.com/)。

创建一个新项目,或者选择一个现有的项目。

启用 API:

在顶部搜索栏输入 Public Certificate Authority API。

点击进入并选择 “启用 (Enable)”。

(注:这是免费的公共证书服务,启用此 API 不会扣费)。

第二步:获取 Key ID 和 HMAC Key
推荐直接使用网页下方的命令行工具(Cloud Shell):

在 Google Cloud 控制台右上角,点击 激活 Cloud Shell 图标(像一个终端窗口的图标 >_)。

等待终端连接成功后,复制并粘贴以下命令:

Bash
gcloud publicca external-account-keys create
系统会弹窗询问是否授权 Cloud Shell,点击 “授权 (Authorize)”。

执行成功后,你会看到类似下面的输出:

Plaintext
Created external account key: [b64MacKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
keyId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
第三步:对应填入
终端输出的内容对应关系如下:

keyId ---> ACME EAB KID

b64MacKey ---> ACME EAB HMAC Key
```

## 添加自动化部署

![snip_1768892913099.png](https://dl.playground.lazycat.cloud/guidelines/964/2eafdf95-e00d-4be4-9bbc-ebc5a8d2e382.png "snip_1768892913099.png")

完整工作流列表
![snip_1768892504817.png](https://dl.playground.lazycat.cloud/guidelines/964/c4c36e4d-5a88-46f8-b432-81bd004b75a8.png "snip_1768892504817.png")


可配置每月自动执行/手动执行
![snip_1768892612841.png](https://dl.playground.lazycat.cloud/guidelines/964/45702472-00e3-4dd2-a0c5-b96cfd14f772.png "snip_1768892612841.png")

申请证书配置,注意:域名前缀填通配符
![snip_1768892713894.png](https://dl.playground.lazycat.cloud/guidelines/964/3a42533b-4bba-4a12-aa81-714a318cd6f0.png "snip_1768892713894.png")

配置部署到主机
![snip_1768892800602.png](https://dl.playground.lazycat.cloud/guidelines/964/8f7c4c2d-24e9-4c54-9b41-b3435efd9b4a.png "snip_1768892800602.png")

配置通知
![snip_1768892852451.png](https://dl.playground.lazycat.cloud/guidelines/964/7ae9e544-eade-4821-8f46-c2bcdbd26253.png "snip_1768892852451.png")


## 执行并查看执行历史详情

![snip_1768893249954.png](https://dl.playground.lazycat.cloud/guidelines/964/8155bd15-339a-43cf-bc56-55106d7c1e44.png "snip_1768893249954.png")

![snip_1768893205257.png](https://dl.playground.lazycat.cloud/guidelines/964/6e926467-f7db-44c1-8848-0d26ed7b02f2.png "snip_1768893205257.png")

![snip_1768893121185.png](https://dl.playground.lazycat.cloud/guidelines/964/19f1852e-1d81-4b60-a3c8-eb0db3142503.png "snip_1768893121185.png")

![snip_1768893604065.png](https://dl.playground.lazycat.cloud/guidelines/964/2647d9d6-2417-4269-80be-7b6ff0836213.png "snip_1768893604065.png")

## 访问网站查看证书信息,有效期已更新

![snip_1768893327288.png](https://dl.playground.lazycat.cloud/guidelines/964/2b095fbd-04eb-4aef-bb5f-0a223ebadb42.png "snip_1768893327288.png")

评论

0

暂无评论

说点什么呢~
收藏
0
0
0