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证书将会被申请

相关推荐
夏影孤灯5 小时前
五、存储测试工具 vdbench
云计算
AOwhisky8 小时前
Redis 学习笔记(第一期):概述、安装配置与核心理论
运维·数据库·redis·笔记·学习·云计算
ZStack开发者社区10 小时前
ZSTACK · 答客问 | 什么时候该升级,什么时候再等等
网络·云计算
2601_9618752411 小时前
法考资料全套2026|客观题|主观题|资料已整理
阿里云·云计算·腾讯云·azure·七牛云存储·csdn开发云·火山引擎
SaaS_Product12 小时前
同步盘操作教程:如何自动同步文件
人工智能·云计算·saas·onedrive
精益数智小屋13 小时前
拆解项目管理计划的核心功能:用项目管理计划解决跨部门协作难题
大数据·人工智能·数据分析·云计算·软件工程
愛~杦辷个訾15 小时前
Java Springboot使用阿里云oss对图片进行等质量压缩,转换成webp格式的压缩图。
java·spring boot·阿里云·oss
容器魔方17 小时前
Karmada v1.18 版本发布!新增混合云溢出式调度能力
人工智能·云原生·容器·华为云·云计算
AOwhisky17 小时前
学习自测与解析:Redis系列第一期与第二期核心知识点详解
运维·数据库·redis·学习·云计算
腾讯蓝鲸智云17 小时前
【运维自动化-监控平台】初识蓝鲸监控
运维·自动化·云计算·sass·paas