下载模板
# 清理已有的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
}
日常你只需要记住三件事:
- 静态站 →
import site_static - 普通 Web / API →
import advanced_site - 需要 LB →
import lb_site
其余一切:
- 都是局部覆盖
- 都是按需添加
- 都不会污染其他站点