从 Automatic HTTPS - Caddy 文档得知,Caddy 是支持配置 *.fun2ex.com
这样的泛域名格式的。
直接参考文档的配置,/etc/caddy/Caddyfile
初始配置如下:
*.fun2ex.com
{
tls {
dns dnspod
}
root /var/www/html
}
我自己用的是 DNSPOD,具体的支持 DNS 服务商可以直接从文档查看。
接下来要设置 DNSPOD Auth Api 的环境变量,具体环境变量值可以从 Automatic HTTPS - Caddy 找到。
因为我用的是 systemd 来管理 caddy 进程,所以直接编辑 caddy 的 service 文件就行:
sudo vim /etc/systemd/system/caddy.service
找到 Environment=
这一行,加上环境变量的值,如要添加多个,使用空格分割:
; Letsencrypt-issued certificates will be written to this directory.
Environment=CADDYPATH=/etc/ssl/caddy DNSPOD_API_KEY='$id,$hash_key'
让我们重启试试:
sudo systemctl restart caddy
sudo systemctl status caddy
未完待续…
你好,我尝试了一下,可以获得泛域名*.example.com的证书。就是用https://example.com访问不了,用www.example.com就没问题,设置了www跳转也不行(不知道是不是没设置对),网上也没找到有效的解决方法,不知大佬有啥解决方法不?
大致的配置:
*.example.com
{
tls {
dns cloudflare
}
fastcgi / /run/php/php7.3-fpm.sock php
rewrite {
if {path} not_match ^/admin
to {path} {path}/ /index.php?{query}
}
redir {
if {host} not_starts_with www / https://www.{label1}.example.com{uri} }
}