Docker/Rancher2安装部署Caddy2

2022-11-28 20:06:59 浏览数 (1)

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

代码语言:javascript复制
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语法可参考官网教程

代码语言:javascript复制
# 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

本站反代配置示例

代码语言:javascript复制
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证书配置示例

代码语言:javascript复制
https://域名 {
	import GZIP
	import LOG "域名"
	tls 邮箱
    reverse_proxy 10.0.0.13:9000
}

Rancher2部署

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

0 人点赞