76cece10aef10d733add41c23b1ca831_photo-1610545749949-cb587f457385_crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTgwOTN8MHwxfHNlYXJjaHw1fHxkb2NrZXJ8ZW58MHx8fHwxNjY5MTI0Mjkw&ixlib=rb-4.0.3&q=80&w=1080

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部署

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日志文件
  • 只需一个邮箱可自动申请并配置https访问

自用整理的Caddyfile配置文件,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
}

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
}

image-1669125084627

Rancher2部署

image-1669125167626
image-1669125206997

部署、使用都很简单,欢迎使用