包含了DNSPod、Aliyun DNS和Cloudflare DNS插件的caddy2
5.5K
2.10.0 替换dnspod插件为tencentcloud,caddy版本升级到2.10.0
本文档提供了一步一步的指南,用于使用 Docker Compose 部署 Caddy 服务器。Caddy 是一个现代的Web服务器,可以轻松配置和自动管理TLS证书,非常适合托管网站和Web应用程序。
首先,创建一个名为 "caddy" 的文件夹,用于存放所有相关文件和配置。在 "caddy" 文件夹内,创建以下子文件夹:
caddy/data: 用于存放Caddy服务器的数据文件。caddy/config: 用于存放Caddy服务器的配置文件。在 "caddy" 文件夹内,创建一个名为 "Caddyfile" 的配置文件,用于定义Caddy服务器的行为和规则。
以下是示例配置,适用于家庭宽带没有80,443端口的情况下使用,您可以根据自己的需求进行修改:
# 设置监听端口
{
http_port 8080
https_port 8443
}
# 获取泛域名证书
*.xxxxxx.tk {
tls {
# 根据自己的DNS服务提供商配置
dns dnspod {env.DNSPOD_TOKEN}
# 或其他DNS服务提供商的配置,取消相应注释
# dns alidns {
# access_key_id {env.ALIYUN_ACCESS_KEY_ID}
# access_key_secret {env.ALIYUN_ACCESS_KEY_SECRET}
# }
# dns cloudflare {env.CF_API_TOKEN}
}
# 为不同子域名配置反向代理规则
@mp host mp.xxxxxx.tk
handle @mp {
encode gzip
reverse_proxy 192.168.50.100:3004
}
# 为pve子域名配置反向代理规则(适用HTTPS)
@pve host pve.xxxxx.tk
handle @pve {
reverse_proxy 192.168.50.2:8006 {
transport http {
tls_insecure_skip_verify
}
}
}
# 更多服务可以复制上面的规则继续添加
# 未处理的域名请求将被中止
handle {
abort
}
}
确保根据您的DNS服务提供商取消或保留相关注释,并填写相应的信息。
在 "caddy" 文件夹内,创建一个名为 "docker-compose.yml" 的Docker Compose配置文件,用于定义Caddy容器的设置。以下是示例配置:
version: '3'
services:
caddy:
image: econome/caddy-dns
ports:
- "8080:8080"
- "8443:8443"
- "8443:8443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./data:/data
- ./config:/config
environment:
# 根据自己使用的DNS服务提供商配置,取消相应注释并填写信息
# dnspod配置
#- DNSPOD_TOKEN=id,token
# 阿里云dns配置
#- ALIYUN_ACCESS_KEY_ID=
#- ALIYUN_ACCESS_KEY_SECRET=
# CloudFlare配置
#- CF_API_TOKEN=
确保根据您的DNS服务提供商取消或保留相关注释,并填写相应的信息。
在 "caddy" 文件夹内,使用以下命令启动Caddy服务器容器:
docker-compose up -d
这将启动Caddy服务器,根据您的Caddyfile配置进行反向代理和自动获取泛域名证书。确保您的DNS服务提供商配置正确,并且您的域名指向了正确的IP地址。
现在,您已经成功部署了Caddy服务器,可以开始使用它提供HTTP和HTTPS服务。根据您的需求,您可以进一步自定义Caddy配置。祝您顺利完成部署!
本文档提供了一步一步的指南,用于使用 Docker CLI(命令行界面)部署 Caddy 服务器。Caddy 是一个现代的 Web 服务器,具有自动管理 TLS 证书和简化配置的功能,非常适合托管网站和 Web 应用程序。
首先,创建一个名为 "caddy" 的文件夹,用于存放所有相关文件和配置。在 "caddy" 文件夹内,创建以下子文件夹:
caddy/data: 用于存放 Caddy 服务器的数据文件。caddy/config: 用于存放 Caddy 服务器的配置文件。在 "caddy" 文件夹内,创建一个名为 "Caddyfile" 的配置文件,用于定义 Caddy 服务器的行为和规则。以下是示例配置,您可以根据自己的需求进行修改:
# 设置监听端口
{
http_port 8080
https_port 8443
}
# 获取泛域名证书
*.xxxxxx.tk {
tls {
# 根据自己的 DNS 服务提供商配置
dns dnspod {env.DNSPOD_TOKEN}
# 或其他 DNS 服务提供商的配置,取消相应注释
# dns alidns {
# access_key_id {env.ALIYUN_ACCESS_KEY_ID}
# access_key_secret {env.ALIYUN_ACCESS_KEY_SECRET}
# }
# dns cloudflare {env.CF_API_TOKEN}
}
# 为不同子域名配置反向代理规则
@mp host mp.xxxxxx.tk
handle @mp {
encode gzip
reverse_proxy 192.168.50.100:3004
}
# 为pve子域名配置反向代理规则(适用 HTTPS)
@pve host pve.xxxxx.tk
handle @pve {
reverse_proxy 192.168.50.2:8006 {
transport http {
tls_insecure_skip_verify
}
}
}
# 更多服务可以复制上面的规则继续添加
# 未处理的域名请求将被中止
handle {
abort
}
}
确保根据您的 DNS 服务提供商取消或保留相关注释,并填写相应的信息。
使用 Docker CLI,可以通过运行以下命令启动 Caddy 服务器容器:
docker run -d \
--name caddy \
-p 8080:8080 \
-p 8443:8443 \
-p 8443:8443/udp \
-v $(pwd)/Caddyfile:/etc/caddy/Caddyfile \
-v $(pwd)/data:/data \
-v $(pwd)/config:/config \
-e DNSPOD_TOKEN=id,token \
econome/caddy-dns
这将启动 Caddy 服务器,并根据您的 Caddyfile 配置进行反向代理和自动获取泛域名证书。
确保您的 DNS 服务提供商配置正确,并且您的域名指向了正确的 IP 地址。
现在,您已经成功部署了 Caddy 服务器,可以开始使用它提供 HTTP 和 HTTPS 服务。根据您的需求,您可以进一步自定义 Caddy 配置。祝您顺利完成部署!
Content type
Image
Digest
sha256:09e052ba7…
Size
32.5 MB
Last updated
about 1 year ago
docker pull econome/caddy-dns