Docker 部署 acme.sh并申请华为云域名证书

Docker 部署 acme.sh并申请华为云域名证书

       上回成功用docker部署acme.sh并申请了腾讯云域名证书,今天跟大家分享如何申请华为云域名证书,这里我重新起了一个容器来进行申请,这样不会惨在一起。

       一、申请DNS API参数

       申请证书时,需要验证域名拥有权,不想手动去填写txt来验证,可以使用acme.sh自带API去实现,所以就需要申请dnspod token,我们先到华为云控制台,点击统一身份认证进去创建一个子账号。

1.png

然后输入子账号跟密码,假设我们这里账号是acme,密码是test123456,截图如下

2.png

 

点击下一步进行创建,并且把所有用户组权限赋给他

3.png

这样我们就完成了子账号创建。我们还需要获取Username配置,按照以下截图获取,在控制台这里点击获取我的凭证

21.jpg

进入到页面后,复制箭头的配置,假设这里的账户名是test

22.jpg

完成以上操作,我们便成功获取三个关键配置。

       二、部署acme.sh

       这里我是用docker方式部署,docker-compose文件如下

version: "3"
services:
  acme_hw:
    image: neilpang/acme.sh
    container_name: acme_hw_compose
    restart: always
    command: daemon
    environment:
    - HUAWEICLOUD_Username=acme
    - HUAWEICLOUD_Password=test123456
    - HUAWEICLOUD_DomainName=test
    volumes:
      - /home/app/acme_hw/cert:/acme.sh

里面的HUAWEICLOUD_Username、HUAWEICLOUD_Password、HUAWEICLOUD_DomainName就是上一步申请的配置,然后我们在服务器/home/app/acme_hw这个路径作为acme.sh映射目录。然后我们直接执行如下命令进行部署,执行以下命令

docker-compose up -d

       三、申请证书

       完成部署后,我们开始来申请证书,首先将默认证书服务器切换为 letsencrypt,默认是ZeroSSL,我一直申请不成功,后面改成letsencrypt就可以申请下来。

docker exec acme_tx_compose acme.sh --set-default-ca --server letsencrypt

       然后我们需要到zerossl注册一个账号用来绑定,假如账号是test@gmail.com,执行以下命令行

 docker exec acme_hw_compose acme.sh  --register-account  -m test@gmail.com --server zerossl

比如我们现在要申请的域名是gemini.test.cn,我们可以通过以下命令行执行

docker exec acme_hw_compose acme.sh --issue --dns dns_huaweicloud -d gemini.test.cn

然后就是等他申请,最终申请下来效果图如下

123.png

我们去上面我们设置的映射目录里面查看home/app/acme_hw,在下面有个cert目录,里面有我们申请的域名为名称的目录,申请下来的证书就在里面。

       四、自动化续期

       在 daemon 守护模式下,acme.sh 会根据申请记录,每 60 天自动更新证书,这样我们证书到期了变会自动更新。

       以上就是利用acme.sh来申请免费证书。


0条评论

发表评论