type
status
date
slug
summary
tags
category
icon
password

ACME

ACME 主要用于简化 HTTPS 证书的申请和管理,减少了手动配置证书的复杂性。因此,HTTPS ACME 主要指的是通过 ACME 协议自动获取 HTTPS 证书的过程。
acme.sh是一个命令行工具,实现了amce的协议,可以用来申请和部署https证书
 

群晖Docker部署

不同的系统部署https有不同的方式,acme部署群晖的https是使用群晖的hook,相关的源代码在https://github.com/acmesh-official/acme.sh/blob/master/deploy/synology_dsm.sh
其中有解释相关环境变量的配置
  • 在群晖的docker中找到neilpang/acme.sh 启动过并添加以下参数
notion image
 
zone_id就是cloudflare域名管理页面右下角的zone id
token是需要手动创建的,创建完成后需要保存,之后就不会显示了
notion image
剩下SYNO_开头的都是群晖相关的配置,因为需要申请完证书之后还要部署,因此需要登陆群晖
域名和端口号就是登陆群晖时候的URL地址
scheme是HTTP或HTTPS
  • 需要将/root/acme.sh映射到本地路径
  • 启动容器
启动容器时的命令填 `daemon`,这时候就相当于安装了acme.sh的命令行工具,可以随时通过docker容器调用这个命令
 

设置定时任务

新建一个bash script
第一条命令用于申请证书
第二条命令用于部署
 
然后在群晖的定时任务中添加命令运行定时脚本,注意任务执行用户需要选择root
notion image
定时任务设置完成之后手动运行一下,然后在log的最后应该显示success
 
notion image
 
同时申请的证书存在映射的路径下
notion image
 
成功部署后,在群晖的证书中应该可以看到证书成功添加
notion image