From f3b12f30f0f3587bde6038987a18871f1b8d9954 Mon Sep 17 00:00:00 2001 From: zetaloop Date: Tue, 5 May 2026 10:51:48 +0800 Subject: [PATCH] feat(center/caddy): add WebTransport reverse-proxy passthrough via PR #7669 fork --- .gitignore | 6 +++++- deploy/center/caddy/Caddyfile | 27 +++++++++++++++++++++------ deploy/center/caddy/Dockerfile | 10 ++++++++++ deploy/center/docker-compose.yml | 4 +++- 4 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 deploy/center/caddy/Dockerfile diff --git a/.gitignore b/.gitignore index 7c1e5db..08a8a3e 100644 --- a/.gitignore +++ b/.gitignore @@ -119,7 +119,11 @@ dist # End of https://mrkandreev.name/snippets/gitignore-generator/#Node -DockerFile +/app/*/api/Dockerfile +/app/*/rpc/Dockerfile +/app/*/mq/Dockerfile +/app/*/adapter/Dockerfile +/app/*/test/Dockerfile .idea # Go compiled binaries diff --git a/deploy/center/caddy/Caddyfile b/deploy/center/caddy/Caddyfile index 2cf8466..0261359 100644 --- a/deploy/center/caddy/Caddyfile +++ b/deploy/center/caddy/Caddyfile @@ -1,5 +1,8 @@ { email admin@juwan.xhttp.zip + servers { + enable_webtransport + } } (common_log) { @@ -53,11 +56,23 @@ s3.juwan.xhttp.zip { juwan.xhttp.zip { import common_log - reverse_proxy http://140.82.15.92:30080 { - lb_policy round_robin - health_uri /healthz - health_interval 10s - fail_duration 30s - import stream_proxy + + handle /wt/* { + reverse_proxy https://140.82.15.92:8443 { + transport http { + versions 3 + tls_insecure_skip_verify + } + } + } + + handle { + reverse_proxy http://140.82.15.92:30080 { + lb_policy round_robin + health_uri /healthz + health_interval 10s + fail_duration 30s + import stream_proxy + } } } diff --git a/deploy/center/caddy/Dockerfile b/deploy/center/caddy/Dockerfile new file mode 100644 index 0000000..6b114ce --- /dev/null +++ b/deploy/center/caddy/Dockerfile @@ -0,0 +1,10 @@ +FROM caddy:2.11.2-builder-alpine AS builder + +# 编译带 PR #7669(experimental WebTransport reverse-proxy passthrough) +# 的 Caddy。来源是 tomholford 的 fork 分支 webtransport-reverse-proxy。 +RUN xcaddy build \ + --with github.com/caddyserver/caddy/v2=github.com/tomholford/caddy/v2@webtransport-reverse-proxy + +FROM caddy:2.11.2-alpine + +COPY --from=builder /usr/bin/caddy /usr/bin/caddy diff --git a/deploy/center/docker-compose.yml b/deploy/center/docker-compose.yml index 969abf7..d43aea9 100644 --- a/deploy/center/docker-compose.yml +++ b/deploy/center/docker-compose.yml @@ -1,7 +1,9 @@ services: # ==================== 反代 ==================== caddy: - image: caddy:2.11.2-alpine + build: + context: ./caddy + image: juwan-center/caddy:wt container_name: juwan-caddy restart: unless-stopped ports: