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

未完待续…

  1. 將 nginx 調整為 caddy,世界上的網站都與 ssl 做好朋友
  2. How to specify an Environment systemd directive containing =? - Ask Ubuntu

标签: 服务器, 运维

仅有一条评论

  1. yevision yevision

    你好,我尝试了一下,可以获得泛域名*.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} }
    }

添加新评论