前言

最近Hexo个人博客的SSL证书要过期了,又要手动去腾讯云申请免费的SSL证书了。

想到以后一到期就要去手动续费,非常的麻烦,就想利用下1Panel的自动申请证书功能了,并且管理起来还非常的方便。

Acme账户

根据1Panel文档-Acme账户,在1Panel面板的网站/证书模块下,点击Acme账户后再点击创建账户,输入邮箱即可创建Acme账户。

image-20240507174014220

DNS账户

根据1Panel文档-DNS账户,需要有一个DNS权限的用户,这里演示如何使用腾讯云DNS来创建DNS账户。

创建腾讯云用户

首先进入腾讯云控制台-访问管理,找到 用户 -> 用户列表,点击新建用户-> 自定义创建

依次完成以下步骤

  1. 选择类型:可访问资源并接收消息

  2. 填写用户信息:用户名随便填啦,我填的是1panel-dns-demo勾选编程访问

  3. 设置用户权限:搜下dns,勾选第一个云解析 DNS 全读写访问权限策略名为QcloudDNSPodFullAccess

  4. 设置用户标签:有没有无所谓。

  5. 审阅信息和权限:看下用户信息有没有问题,没问题就点完成

完成后记得保存用户的SecretIdSecretKey只会显示一次

image-20240507175552422

创建DNS账户

转到1Panel面板,在网站/证书模块下,点击DNS账户后再点击创建账户,按要求输入信息即可创建DNS账户。

image-20240507180143213

申请证书

确保Acme账户与DNS账户都已经创建完毕。

在1Panel面板的网站/证书模块下,点击申请证书,按要求输入申请内容即可申请证书。

image-20240507180646005

申请日志出现申请[xxxxx.xxx]证书成功!,即为成功。

1
2
3
4
5
6
7
2024/05/07 18:06:54 开始申请证书,域名 [insectmk.cn] 申请方式 [DNS 自动] DNS 账号 [tencent-1panel-dns-demo] 厂商 [TencentCloud]
2024/05/07 18:06:54 [INFO] [insectmk.cn] acme: Obtaining bundled SAN certificate
2024/05/07 18:06:55 [INFO] [insectmk.cn] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/347729736667
2024/05/07 18:06:55 [INFO] [insectmk.cn] acme: authorization already valid; skipping challenge
2024/05/07 18:06:55 [INFO] [insectmk.cn] acme: Validations succeeded; requesting certificates
2024/05/07 18:06:56 [INFO] [insectmk.cn] Server responded with a certificate.
2024/05/07 18:06:56 申请 [insectmk.cn] 证书成功!!

出现失败不要着急,在证书列表重新点一下申请再次尝试。

image-20240507180927263

好了,现在到1Panel面板的网站/网站下去配置SSL证书,让你的网站支持HTTPS吧!

补充

CloudFlare

由于我的insectmk.top域名的DNS是由CloudFlare解析的,所以想申请SSL证书,还得配置一个ClodFlare的DNS账户。

获取API Token:

  1. CloudFlare 主页点击右上角的我的个人资料或直接点击api-tokens进入获取。

  2. 点击创建令牌,选择编辑区域DNS使用模板,选择你需要的内容,我的设置内容如下:

    image-20240726100441283

  3. 点击继续以显示摘要,没问题则点击创建令牌,将生成的API Token保存好即可,1Panel使用方式参考DNS账户-1Panel文档

参考文章

1Panel文档-申请证书

DNS账户-1Panel文档