acme_server
一个嵌入式ACME协议服务器处理程序。这允许一个Caddy实例为任何其他兼容ACME的软件(包括其他Caddy实例)签发证书。
启用后,匹配路径/acme/*的请求将由ACME服务器处理。
客户端配置
使用ACME服务器的默认值时,ACME客户端只需配置为使用https://localhost/acme/local/directory作为它们的ACME端点。(local是Caddy默认CA的ID。)
语法
acme_server [<matcher>] { ca <id> lifetime <duration> resolvers <resolvers...> challenges <challenges...> allow_wildcard_names allow { domains <domains...> ip_ranges <addresses...> } deny { domains <domains...> ip_ranges <addresses...> } }
-
ca 指定用于签署证书的证书颁发机构ID。默认值是
local,也就是Caddy的默认CA,用于本地使用的自签名证书,这在开发环境中最常见。若用于更广泛的场景,建议指定不同的CA以避免混淆。如果给定ID的CA尚不存在,它将被创建。参见PKI应用全局选项来配置其他CA。 -
lifetime(默认:
12h)是一个持续时间,指定已签发证书的有效期。该值必须小于用于签名的中间证书的有效期。除非绝对必要,否则不建议更改。 -
resolvers 是用于查找TXT记录以完成ACME DNS质询的DNS解析器地址。接受网络地址,未指定时默认使用UDP和53端口。如果主机是IP地址,将直接拨号到该地址解析上游服务器。如果主机不是IP地址,则使用Go标准库的名称解析约定解析地址。如果指定了多个解析器,将随机选择一个。
-
challenges 设置启用的质询类型。如果未设置,或该指令未带值使用,则启用所有质询类型。可接受的值为:
http-01、tls-alpn-01、dns-01。 -
allow_wildcard_names 启用签发带有通配符SAN(Subject Alternative Name)的证书。
-
allow、deny 配置
acme_server的运行策略。策略评估遵循Step-CA 这里描述的规则。 -
domains 根据策略评估规则设置允许或拒绝的主体域名。
-
ip_ranges 根据策略评估规则设置允许或拒绝的主体IP范围。
示例
在域名acme.example.com上提供ID为home的ACME服务器,通过pki全局选项自定义CA,并使用internal签发者签发自己的证书:
{ pki { ca home { name "My Home CA" } } } acme.example.com { tls { issuer internal { ca home } } acme_server { ca home } }
如果你有另一台Caddy服务器,它可以使用上面的ACME服务器来签发自己的证书:
{ acme_ca https://acme.example.com/acme/home/directory acme_ca_root /path/to/home_ca_root.crt } example.com { respond "Hello, world!" }