XanderYe的个人小站

Docker中使用acme.sh申请泛域名证书

作者之前用的阿里云免费证书,有几个弊端:

  • 只能申请二级单域名证书
  • 只有一年有效期并且不能续期,服务多了更换证书太麻烦
  • 目前只能申请最多20个免费证书了

于是打算申请Let’s encrypt的证书,有效期短但设个定时任务续签就行,并且还可以申请泛域名供所有服务使用。

启动容器

这里使用的是阿里dns的API,如其他云服务商请自行百度修改配置

docker run \
-v /volume1/docker/acme.sh:/acme.sh \
-e Ali_Key=xxx \
-e Ali_Secret=xxx \
--net host \
--restart=always \
--name acme \
-itd \
neilpang/acme.sh:3.0.0 daemon

更新acme.sh

docker exec acme acme.sh --upgrade --auto-upgrade

注册ZeroSSL

acme.sh默认证书已调整为ZeroSSL,访问 https://app.zerossl.com/login 注册账户

绑定账户

docker exec acme acme.sh --register-account -m youmail@domain.com --server zerossl

申请证书

docker exec acme acme.sh --issue --dns dns_ali -d xanderye.cn -d *.xanderye.cn

其中,dns_ali 代表阿里云,如果是腾讯云请填写 dns_dp,CLoudflare 填写 dns_cf,其他请参考官方手册 dnsapi

执行完成后,查看docker映射的acme.sh目录下,已经生成了证书。

https://wp.xanderye.cn/wp-content/uploads/2021/09/image-1.png

在 daemon 守护模式下,acme.sh 会根据申请记录,每 60 天自动更新证书。

赞赏

发表回复

textsms
account_circle
email
44 + 43 = ?
verified user

 

  • 一叶知秋 未知

    您好,我使用frp在威联通上进行建站和外网访问,请问要如何配置https及证书呢,我在网上找了一圈的教程最后都无法正常访问,公网服务器用的是腾讯轻量云

    3 年前 回复

XanderYe的个人小站

Docker中使用acme.sh申请泛域名证书
作者之前用的阿里云免费证书,有几个弊端: 只能申请二级单域名证书只有一年有效期并且不能续期,服务多了更换证书太麻烦目前只能申请最多20个免费证书了 于是打算申请Let's encryp…
扫描二维码继续阅读
2021-09-05