140 字
1 分钟
Caddy 反向代理搭建

基础 Docker Compose#

services:
caddy:
image: caddy:latest
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./site:/srv
- caddy_data:/data
- caddy_config:/config
volumes:
caddy_data:
caddy_config:

创建外部网络(多容器共用)#

Terminal window
docker network create web

带网络的 docker-compose.yml:

version: '3'
services:
caddy:
image: caddy:2
container_name: caddy
restart: always
networks:
- web
ports:
- 80:80
- 443:443
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-config:/config
- ./caddy-data:/data
- ./certs:/certs
networks:
web:
external: true

Caddyfile 示例#

使用自签名证书的内部服务示例:

(common) {
header /* {
-Server
}
}
your-service.example.com:443 {
log {
level INFO
output file /data/access.log {
roll_size 10MB
roll_keep 10
}
}
tls /certs/your.pem /certs/your.key
encode gzip
reverse_proxy backend-service:3000
}

内网自签名证书#

local-service.example.com {
tls internal
reverse_proxy 192.168.1.100:8082
}
Caddy 反向代理搭建
https://iiii.fun/posts/docker/caddy-setup/
作者
慶靈
发布于
2025-12-23
许可协议
CC BY-NC-SA 4.0