caddy 使用阿里云的域名通过dns验证申请ssl证书

1.新建 Dockerfile 构建镜像

TypeScript 复制代码
# Dockerfile
# 使用官方构建镜像作为基础
FROM caddy:2-builder AS builder

# 设置 Go 模块代理为国内镜像(关键步骤)
ENV GOPROXY=https://goproxy.cn,direct \
    GO111MODULE=on \
    CGO_ENABLED=0

# 运行 xcaddy 来构建,并添加阿里云 DNS 模块
RUN xcaddy build \
    --with github.com/caddy-dns/alidns

# 使用最新的官方 Caddy 镜像作为运行环境
FROM caddy:latest

# 将构建好的 Caddy 文件从构建阶段复制过来
COPY --from=builder /usr/bin/caddy /usr/bin/caddy

2.新建 Caddyfile 配置文件

TypeScript 复制代码
{
    http_port 8080
    # 开启调试日志
    debug
}

:8080 {
    respond "Hello from Caddy on port 8080" 200
}

http://192.168.1.141:8080 {
    handle_path /hinas* {
        reverse_proxy 192.168.1.141:80
    }

    handle {
        respond "Path not matched: {uri}" 404
    }
}

home.jcdone.cn {
        # 全局配置:自动 HTTPS,Caddy 会自动申请证书
        tls {
	        dns alidns {
	            access_key_id {env.ALIYUN_ACCESS_KEY_ID}
	            access_key_secret {env.ALIYUN_ACCESS_KEY_SECRET}

	        }
             # 增加超时时间
             propagation_timeout 5m
	   }

        # 开启压缩
        encode gzip zstd
        

        # 规则2:访问 /alist 转发到 AList
        # 假设 AList 运行在 192.168.1.100 的 5244 端口
        handle_path /hinas* {
	        # 去掉 /hinas 前缀再转发给后端
	        uri strip_prefix /hinas
	        reverse_proxy 192.168.1.141:80 {
	            header_up Host {host}
	            header_up X-Real-IP {remote_host}
	            header_up X-Forwarded-For {remote_host}
	            header_up X-Forwarded-Proto {scheme}
	            header_up X-Forwarded-Prefix /hinas
	        }
        }
}

3.新建 /mnt/sda1/docker-data/caddy/config he /mnt/sda1/docker-data/caddy/data 目录

4.执行docker 命令

TypeScript 复制代码
docker run -d \
  --name caddy-alidns \
  --restart unless-stopped \
  --network host \
  --dns 223.5.5.5 \
  --dns 223.6.6.6 \
  -e ALIYUN_ACCESS_KEY_ID="LTAI58VxU" \
  -e ALIYUN_ACCESS_KEY_SECRET="YGUzJpCrXyCqO" \
  -v /mnt/sda1/docker-data/caddy/Caddyfile:/etc/caddy/Caddyfile \
  -v /mnt/sda1/docker-data/caddy/data:/data \
  -v /mnt/sda1/docker-data/caddy/config:/config \
  caddy-alidns:latest

5.如果没有问题,ssl证书将会被申请

相关推荐
小葱运维2 天前
命名与环境规范
运维·开源·云计算
workflower2 天前
SSH(Struts+Spring+Hibernate)
人工智能·机器学习·机器人·云计算·无人机
不吃香菜kkk、2 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
金融小师妹2 天前
AI金融能力评估:18个主流模型金融问题平均错误率达57%
人工智能·云计算·逻辑回归·深度优先
whyutianict_vv2 天前
云计算运维培训课程技术栈拆解:从 Linux 网络到 AI 推理的五层能力分层
linux·云计算
ZStack开发者社区2 天前
ZSvirt 开源月报第 1 期 · Around the World
开源·云计算·vmware·虚拟化
QYRdata2 天前
ICMP云管理平台2026-2032年CAGR达13.5% 未来发展潜力凸显
云计算·服务发现
天翼云开发者社区2 天前
央国企大模型安全合规应用新标杆!中国电信天翼云推出央企可信Token专区!
云计算·大模型推理服务
Lsetea2 天前
Nginx报No required SSL certificate was sent:mTLS客户端证书排查
运维·nginx·https·ssl·openssl
AKAMAI3 天前
Akamai 云服务持续强化其基础架构(更新时间:2026年8月)
人工智能·云计算