/.well-known/acme-challenge/
路径发送HTTP请求验证域名控制权caddyfile展开代码example.com { respond "Hello World" }
caddyfile展开代码{ email your-email@example.com } example.com { respond "Hello World" }
DNS-01挑战才支持通配符。
caddyfile展开代码{ acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN} } *.example.com { respond "Hello World" }
自定义 ACME CA:强制 Caddy 使用 Let's Encrypt 的测试环境签发证书(仅用于开发/测试)。测试环境的证书是无效的(浏览器不信任),但不会触发生产环境的速率限制,适合调试。
caddyfile展开代码{ acme_ca https://acme-staging-v02.api.letsencrypt.org/directory } example.com { respond "Hello World" }
caddyfile展开代码{ on_demand_tls { ask http://localhost:8080/check-domain } } :443 { tls { on_demand } respond "Hello {host}" }
caddyfile展开代码{ on_demand_tls { ask http://localhost:8080/check-domain interval 2m burst 5 } } :443 { tls { on_demand } @allowed host example.com subdomain.example.com handle @allowed { respond "Allowed domain: {host}" } handle { respond "Domain not allowed" 403 } }
json展开代码{
"apps": {
"http": {
"servers": {
"srv0": {
"listen": [":443"],
"routes": [
{
"handle": [
{
"handler": "static_response",
"body": "Hello {http.request.host}"
}
]
}
]
}
}
},
"tls": {
"automation": {
"on_demand": {
"rate_limit": {
"interval": "2m",
"burst": 5
},
"ask": "http://localhost:8080/check-domain"
},
"policies": [
{
"on_demand": true
}
]
}
}
}
}
ask
参数):防止恶意域名申请证书本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!