Caddy自动申请HTTPS

用Docker部署Caddy

Docker 仓库里的2.0版本的caddy没有包含使用 dns-01 方式申请证书的 tls dns cloudflare 模块,需要自己使用 官方的构建镜像 caddy:builder arrow-up-right 构建包含域名模块的 caddy docker 镜像。2.0版本的 DNS provider 模块地址 https://github.com/caddy-dnsarrow-up-right

docker pull caddy:builder

构建镜像的Dockerfile文件如下,添加 cloudflarearrow-up-right 模块。如果使用国内域名解析服务请添加lego-deprecatedarrow-up-right 模块

FROM caddy:2.0.0-builder AS builder

RUN caddy-builder \
    github.com/caddy-dns/cloudflare
    github.com/caddy-dns/lego-deprecated #更多的dns provider

FROM caddy:2.0.0

COPY --from=builder /usr/bin/caddy /usr/bin/caddy

国内使用docker 构建镜像因为网络问题,需要使用代理

export https_proxy="socks5://serverip:port"

构建镜像

docker build --network host --build-arg https_proxy -t quadword/caddy:1.0 .

caddy docker 镜像构建完成后就可以使用了

Caddyfile 配置

cloudflare tls 的 token 可以直接写在 caddyfile 里

在docker-compose.yml 文件里添加环境变量

最后更新于