• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

docker httphotoshop 证书/多域名通配符自动续期群晖httphotoshop证书

武飞扬头像
catoop
帮助1

本文基于 freessl.cn 申请通配符域名自动续期。

使用docker的原因是为了方便可靠,不会因为不同的操作系统缺包无法安装 acme.sh,也不会在操作系统中留下灿烂内容,acme 版的docker 包含了运行环境。

主要步骤如下:

1、打开 https://freessl.cn/ 官网,注册并登录

学新通

2、进入 ACME自动化 导航菜单,添加证书

学新通

3、配置域名解析

学新通

4、域名解析配置检测通过后,获得签发证书的命令

学新通

5、运行带有 acme.sh 运行环境的 docker 容器

docker run -itd \
-v "/opt/acme.sh":/acme.sh \
--net=host \
--restart=always \
--name=acme \
neilpang/acme.sh \
daemon

其中 /opt/acme.sh 为本地挂载目录,在初次生成证书后,里面会生成证书配置信息和证书文件。

6、运行脚本生成证书

docker exec acme \
acme.sh --issue \
-d demo.com -d *.demo.com \
--dns dns_dp \
--server https://acme.freessl.cn/v2/DV90/directory/xxxxxxxxxxxxxxxxxxxx

这个脚本可以重复执行,如果没有到下次自动续期的时间,它会输出日志提示你。如果需要强制重新生成和签发证书,添加 --force 参数即可。

7、配置自动续期定时任务

将上面的脚本原封不动的配置到系统的定时任务中,可以设置为每周执行一次。

附上 acme.sh 容器的官方连接:https://github.com/acmesh-official/acme.sh/wiki/Run-acme.sh-in-docker

至此结束,以上内容适合所有可以运行 docker 容器的 Linux 平台。


8、群晖补充篇

官方的 acme.sh 对群晖证书替换做了支持,通过追加参数 --deploy-hook synology_dsm 来实现。

这个 hook 的原理就是调用了群晖的 API 来发布证书,因为需要调用 API 需要群晖账号密码的支持,所以要先修改容器添加环境变量参数。

参数 说明
SYNO_DID 填入获取的 DID (没有设置两步验证的忽略),点击查看获取方法
SYNO_Port 填入群晖内网的端口号(默认端口5000可以不提供)
SYNO_Username 登录群晖的用户名
SYNO_Password 登录群晖的密码
SYNO_Certificate 要添加的证书的名字,空字符串(“”)为替换默认证书
SYNO_Create 当 SYNO_Certificate 不为(“”)时,需要设置自动创建的证书名
(仅替换证书的可以不设置,第一次设置证书可能会用到)

运行容器的示例:

docker run -itd \
-v "/opt/acme.sh":/acme.sh \
-e SYNO_Username="demo" \
-e SYNO_Password="demo123" \
-e SYNO_Certificate="" \
--net=host \
--restart=always \
--name=acme \
neilpang/acme.sh \
daemon

然后再群晖的定时执行计划中添加任务,如下:

学新通

docker exec acme \
acme.sh --issue \
-d demo.com -d *.demo.com \
--dns dns_dp \
--server https://acme.freessl.cn/v2/DV90/directory/xxxxxxxxxxxxxxxxxxxx \
--deploy --deploy-hook synology_dsm

--deploy 表示需要部署证书到server,--deploy-hook 指定部署到的目标,exec 后面的 acme 是容器的名称。

网上很多帖子是将云平台的账号密码都配置在容器参数中,可以全自动化申请证书,个人不太推荐。虽然这样省去了配置DNS的步骤(这个DNS解析第一次配置一次就行了以后续期也不需要),但是这步省的意义不大且带来了账号信息泄露的风险。更多的时候,域名管理者可以配置一个DNS验证但是他可能更不希望提供账号密码。


(END)

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgeggbe
系列文章
更多 icon
同类精品
更多 icon
继续加载