Files
MemRelay/projects/edd08c64-97c3-47f2-9d10-224833752a50/Cloudflare Worker proxy-worker 部署完成并通过 WebSocket 全链路验证.md
T
memrelay e0da50bb27 create: Cloudflare Worker proxy-worker 部署完成并通过 WebSocket 全链路验证
MemRelay-Operation: memory-save:cf-worker-vless-sub-20260929-1
MemRelay-Resource: 4d0456e2-c1e6-49c5-b079-a7f7e0fc3654
2026-09-29 11:50:27 +08:00

2.8 KiB
Raw Blame History

title, type, permalink, stable_id, scope, memory_type, project_id, usage_profile_id, status, revision, request_id, created_at, updated_at, tags
title type permalink stable_id scope memory_type project_id usage_profile_id status revision request_id created_at updated_at tags
Cloudflare Worker proxy-worker 部署完成并通过 WebSocket 全链路验证 checkpoint main/projects/edd08c64-97c3-47f2-9d10-224833752a50/cloudflare-worker-proxy-worker-部署完成并通过-web-socket-全链路验证 4d0456e2-c1e6-49c5-b079-a7f7e0fc3654 project checkpoint edd08c64-97c3-47f2-9d10-224833752a50 0c9feb46-d06e-43cd-9ef0-c5813c84a998 active 1 cf-worker-vless-sub-20260929-1 2026-09-29T03:50:25.223843+00:00 2026-09-29T03:50:25.223843+00:00
cloudflare
worker
wrangler
vless
websocket
deploy
idn

目标:为论坛福利节点(CF 入口 + WARP 出口的 VLESS-WS 节点)部署中转 Cloudflare Worker 并验证订阅链路。

做了什么:

  1. 工作区 E:\code\Cloudflare Worker 创建项目:src/index.js(按教程原样转发所有请求到 http://2602-f9f3-0-2--749.sslip.io:54630/sub)、wrangler.toml(name=proxy-worker)、package.json、.gitignore。
  2. npm install 后需 npm install-scripts approve esbuild workerd(新 npm allowScripts 策略拦截安装脚本),wrangler 4.143.0 就绪。
  3. wrangler login OAuth 交互式登录成功(guaotiantang@gmail.com / Nixevol / 账号 ID a9639fc53c11f2cc300d54c0f7b28d94)。
  4. wrangler deploy 成功:https://proxy-worker.nixevol.workers.dev(版本 ee6ebf12-6cdc-4164-93c9-3b927d55e674)。

验证结果:

  • 普通 HTTP 探测 Worker 返回 400/404 "handshake error: bad Upgrade header"——这是 VLESS over WebSocket 后端的正常拒绝,不是部署故障。
  • 订阅服务 β.nyc.mn 的正确 punycode 是 xn--nxa.nyc.mn(β=U+03B2;手写 xn--zca 是错的,会 NXDOMAIN)。用 node:url 的 domainToASCII 计算。
  • 订阅 URL:https://xn--nxa.nyc.mn/?host=proxy-worker.nixevol.workers.dev 返回 200 + base64 订阅,解码得 7 个 VLESS 节点(端口 80/8080/8880/2052/2082/2086/2095,域名 *.cf.090227.xyz,host=proxy-worker.nixevol.workers.dev,ws path 各不相同)。
  • 用 Node 原生 WebSocket 连 ws://proxy-worker.nixevol.workers.dev/woewvqw6dy1w(订阅中 80 端口节点的 path)握手成功,证明 CF 边缘→Worker→VLESS 后端整条链路连通。

坑与经验:

  • 本机 Clash 类代理 TUN/fake-IP 模式(DNS 返回 198.18.0.0/15,HTTP 代理端口 7897),部分域名 curl/schannel/Node 直连 TLS 握手失败;对 IDN 域名一律用 Node domainToASCII 算 punycode,不要手写。
  • Worker 报 400/404 不一定是部署失败,先看响应体文本区分错误来源(后端服务会带自己的错误文案)。
  • 后续:用户在客户端导入订阅 https://xn--nxa.nyc.mn/?host=proxy-worker.nixevol.workers.dev 即可使用;遇节点不可用直接更新订阅。