Caddy是一款基于Go语言编写的强大且可扩展的平台,可以给你的站点、服务和应用程序提供服务。
官网:https://caddyserver.com/docs/
中文教程网站:https://caddy2.dengxiaolong.com/docs/
Github地址:https://github.com/caddyserver/caddy
v2.6.2
版本做演示Caddy 2.6.2
版本反代docker run -d --restart=always --privileged --net=host -v /data/caddy/data:/data -v /data/caddy/config/Caddyfile:/etc/caddy/Caddyfile -v /data/caddy/config/vhosts:/etc/caddy/vhosts -v /data/caddy/logs:/logs caddy:2.6.2
Caddyfile
配置文件data
目录可放静态资源文件vhosts
目录放各站点的配置文件和ssl证书文件logs
目录放caddy日志文件自用整理的 Caddyfile
配置文件,Caddyfile语法可参考官网教程
# 日志
(LOG) {
log {
format json {
time_local
time_format wall_milli
}
output file "/logs/{args.0}/access.log" {
roll_size 100mb
roll_local_time
roll_keep 3
roll_keep_for 30d
}
}
}
# 压缩
(GZIP) {
encode zstd gzip
}
# 静态资源设置缓存
(STATIC) {
@static {
expression path_regexp('\\.(ico|css|js|jpg|jpeg|png|gif|bmp|webp|avif|svg|woff|woff2|otf)')
}
header @static >Cache-Control max-age=31536000
}
import ./vhosts/*.conf
本站反代配置示例
https://4xx.me {
import GZIP
import LOG "4xx.me"
tls /etc/caddy/vhosts/4xx.me/4xx.me.pem /etc/caddy/vhosts/4xx.me/4xx.me.key
reverse_proxy 10.0.16.15:8091
}
自动申请ssl证书配置示例
https://域名 {
import GZIP
import LOG "域名"
tls 邮箱
reverse_proxy 10.0.0.13:9000
}
静态网站配置示例
https://static.4xx.me {
import GZIP
import LOG "static.4xx.me"
import STATIC
tls x@xxx.com
try_files {path} /
root * /htmls/文件目录
file_server
}
部署、使用都很简单,欢迎使用