Hugo博客公告弹窗

caddy配置模板

下载模板

# 清理已有的open_shell目录
cd /tmp
sudo rm -rf open_shell

# 现在重新执行命令
cd /tmp && sudo mkdir -p /etc/caddy_backup && sudo cp -r /etc/caddy/* /etc/caddy_backup/ 2>/dev/null || true && git clone https://github.com/woniu336/open_shell.git && cd open_shell && sudo cp -r caddy/modules/ caddy/presets/ /etc/caddy/ && cd /tmp && rm -rf open_shell && echo "完成!文件已复制到/etc/caddy/"

标准静态站(推荐默认)

import modules/*.caddy
import presets/*.caddy

example.com {
	import site_static
	root * /var/www/example
}

📌 适合:

  • 官网
  • 博客
  • 文档站
  • 前端打包产物(Vue / React / Next export)

静态站 + 自定义日志路径

import modules/*.caddy
import presets/*.caddy

static.example.com {
	import site_static
	root * /srv/www/static

	log {
		output file /var/log/caddy/static.example.com.log
	}
}

静态下载站(防止索引)

import modules/*.caddy
import presets/*.caddy

download.example.com {
	import site_static
	root * /srv/downloads

	file_server browse off
}

静态站 + 基础认证(私有)

import modules/*.caddy
import presets/*.caddy

private.example.com {
	import site_static
	root * /srv/private

	basicauth {
		admin JDJhJDEyJENxYlZrM3N5bH...
	}
}

标准反向代理(推荐)

import modules/*.caddy
import presets/*.caddy

api.example.com {
	import advanced_site

	reverse_proxy 127.0.0.1:8080 {
		import transport_optimize
		header_up Host {upstream_hostport}
		header_up X-Real-IP {remote}
	}
}

📌 适合:

  • API 服务
  • 后端应用
  • Docker / k8s 服务入口

多路径反代(API + 静态混合)

import modules/*.caddy
import presets/*.caddy

www.example.com {
	import advanced_site

	root * /var/www/html
	file_server

	handle_path /api/* {
		reverse_proxy 127.0.0.1:9000 {
			import transport_optimize
		}
	}
}

WebSocket / 长连接服务

import modules/*.caddy
import presets/*.caddy

ws.example.com {
	import advanced_site

	reverse_proxy 127.0.0.1:3000 {
		import transport_optimize
	}
}

标准负载均衡(轮询)

import modules/*.caddy
import presets/*.caddy

app.example.com {
	import lb_site
}

后端 IP 修改/etc/caddy/modules/lb.caddy


负载均衡 + 站点级配置

import modules/*.caddy
import presets/*.caddy

service.example.com {
	import lb_site

	log {
		output file /var/log/caddy/service.example.com.log
	}
}

负载均衡 + 路径分流

import modules/*.caddy
import presets/*.caddy

gateway.example.com {
	import advanced_site

	handle_path /v1/* {
		reverse_proxy 10.0.0.1:8000 10.0.0.2:8000
	}

	handle_path /v2/* {
		reverse_proxy 10.0.1.1:9000 10.0.1.2:9000
	}
}

HTTP → HTTPS(自动)

example.net {
	redir https://example.com{uri} permanent
}

www 统一跳转

www.example.com {
	redir https://example.com{uri} permanent
}

仅 HTTP 内部服务

:8080 {
	reverse_proxy 127.0.0.1:5000
}

本地调试(无安全模块)

dev.example.com {
	reverse_proxy localhost:3000
}

日常你只需要记住三件事:

  1. 静态站import site_static
  2. 普通 Web / APIimport advanced_site
  3. 需要 LBimport lb_site

其余一切:

  • 都是局部覆盖
  • 都是按需添加
  • 都不会污染其他站点
CC BY-NC-SA 4.0 转载请注明
最后更新于 2026-02-09 17:25