mm644706215 2c10b421b4 first add
2025-09-30 20:45:51 +08:00
2025-09-30 20:45:51 +08:00
2025-09-30 20:45:51 +08:00
2025-09-30 20:45:51 +08:00

Proxy Stack — VLESS(WS+TLS) with your custom Caddy (Cloudflare/Alidns + caddy-l4)

这包兼容两种部署模式:

  • A. 标准模式(无 L4server/docker-compose.yml 直接让 Caddy 占用 80/443v2ray 走 /ray 路由,适合多数“网站 + 代理共存”的情况。
  • B. L4 前置模式server/docker-compose-l4.yml 用 caddy-l4 独占 80/443根据 SNI 把 DERPER/其他 TLS 流量直接四层转发,caddy-http 仅监听 8443适合你需要在 443 上同时承载多种非 HTTP TLS upstream如 Tailscale derper时。

两种模式均保持 复用 443 端口;未来增加站点/服务仅需改 Caddyfile 或 l4.json。


目录

proxy-stack-vless-wss-caddy-v2/
├─ README.md
├─ server/
│  ├─ Dockerfile.caddy-l4          # 你的 caddy 构建(含 cloudflare/alidns/caddy-l4
│  ├─ docker-compose.yml           # 模式 A无 L4Caddy 直接 80/443
│  ├─ docker-compose-l4.yml        # 模式 B有 L4Caddy-HTTP 监听 8443
│  ├─ caddy/
│  │  ├─ Caddyfile                 # 站点与 /ray 反代模式A/B都用
│  │  ├─ l4.json                   # 仅模式B使用L4 路由SNI → upstream
│  │  ├─ env/
│  │  │  └─ caddy.env.example      # DNS 证书与 ACME 环境变量示例
│  │  └─ site/index.html           # 占位站点
│  └─ v2ray/config.json            # VLESS WS 入站(/ray
└─ client/
   ├─ docker-compose.yml
   └─ v2ray-client.json

1) 准备域名与证书环境变量

  • DNS A 记录:将 <YOUR_DOMAIN> 指向 VPS 公网 IP如需子域 proxy.<YOUR_DOMAIN>,请自行替换)。
  • server/caddy/env/caddy.env.example 复制为 caddy.env 并填入:
    • ACME_EMAILLet's Encrypt/ZeroSSL 证书邮箱
    • CF_API_TOKEN可选Cloudflare DNS API Token
    • ALIYUN_ACCESS_KEY_ID / ALIYUN_ACCESS_KEY_SECRET(可选):阿里云 DNS AK/SK
    • DOMAIN:你的域名(与上面解析一致)
    • DERPER_HOST可选L4 模式匹配用)

你可同时放 Cloudflare 与阿里云变量Caddyfile 里按需选择 DNS Provider。


2) 模式 A推荐简单Caddy 直接占用 80/443

cd server
docker compose up -d --build
  • 将自动构建你自定义的 caddy 镜像,并用 caddy/Caddyfile 配置站点与 /ray 反代。
  • 健康检查:访问 https://<YOUR_DOMAIN>/_health 返回 200。

3) 模式 B进阶caddy-l4 前置 + caddy-http 监听 8443

cd server
docker compose -f docker-compose-l4.yml up -d --build
  • caddy-l4 独占 80/443并按 caddy/l4.jsonSNI 规则把 DERPER_HOST 直接四层转发,其他 TLS 走 caddy-http:8443
  • caddy-http 同样装的是你自定义的 caddy可自动签发证书承担网站与 /ray

4) 客户端

cd client
# 修改 v2ray-client.json 的 <YOUR_DOMAIN> 与 <UUID> 后:
docker compose up -d
# 得到本机代理SOCKS5 127.0.0.1:1080HTTP 127.0.0.1:8080

Docker 构建走代理:

DOCKER_BUILDKIT=1 docker build   --build-arg HTTP_PROXY=http://127.0.0.1:8080   --build-arg HTTPS_PROXY=http://127.0.0.1:8080   -t img:latest .

5) 常见问题

  • 证书失败:检查 80/443 是否放行DNS 是否生效;caddy.env 中 DNS Token 是否正确。
  • 端口复用:在 Caddyfile 新增 handle/route 或在 l4.json 新增 SNI 分流;无需额外占端口。
  • 性能:选好 LA 节点/带宽;必要时在 v2ray 启用 mux

法律合规自行确认;仅用于合法用途。

Description
No description provided
Readme 41 KiB