MessageWeave/cloudflare-worker/wrangler.toml

38 lines
2.4 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Wrangler 配置 — MessageWeave 多实例 LB/HA(ARCH-LB-WORKER / deployment.md §10)。
#
# 注意:TOML 只支持 '#' 注释。这里曾经用 JSDoc 的 /** */ 块,Cloudflare 的 TOML
# 解析器会把 '*' 当成未知字符(wrangler 报 Unknown character "47"),deploy /
# secret put / dev 在读取配置文件时就失败——所以全部展开成 '#' 行。
#
# 安全约束(docs/charter.md §3/§5,稳定 ID 注册表 §8):
# - 后端 origin 仅允许 https(C-HTTPS-INBOUND / C-HTTPS-URL);env 校验时拒绝
# http/非 https/内嵌凭据。
# - 不代理 Redis/JMAP(C-NO-DB / C-REDIS-ONLY-STATE):Worker 只做请求转发,后端连自己的 Redis。
# - 不使用 WebSocket/SSE/长轮询(C-NO-LONG-CONN):纯请求-响应转发。
# - 后端 secret 走 `wrangler secret`(见 README),不进代码/日志(SAF-LOG-PURITY / C-NO-SECRET-IN-IMAGE;
# C-LB-SHARED-SECRETS:所有后端实例共享同一组 secret)。
# - 日志无密钥(SAF-LOG-PURITY):只打「方法/路径/origin/失败类别」,origin 清单走 secret。
# - 仅允许转发 safelist 路由(C-LB-SINGLE-REG-URL);未知路径 404。
#
# 部署:
# cd cloudflare-worker
# npx wrangler secret put BACKEND_ORIGINS_JSON # 见下方示例格式
# npx wrangler deploy
name = "messageweave-lb"
main = "src/index.js"
compatibility_date = "2025-01-01"
compatibility_flags = ["nodejs_compat_v2"]
# 统一 HTTPS 入站(C-HTTPS-URL;平台代 TLS,Worker 内为短请求模型)。
# 后端 origin 为 secret(不经明文 env 流转)。BACKEND_ORIGINS_JSON 只接受
# 「字符串数组」——每项是一个 https origin;不支持 {"url":…, "weight":…} 这种
# 对象形式(parseBackendOrigin 只认字符串,对象项会让整份配置解析失败,
# 而配置是**每个请求**重新解析的,所以会表现为**每个请求都 503**,不是启动即失败):
# BACKEND_ORIGINS_JSON 形如 ["https://a.platform1.example","https://b.platform2.example"]
# LB_HEALTH_TTL_MS 可选,健康缓存 TTL(默认 30000)
# LB_REQUEST_TIMEOUT_MS 可选,单 origin 超时(默认 10000,建议 > 最坏 cold start)
# LB_MAX_ATTEMPTS 可选,每请求最多 origin 尝试次数(默认 2:首次 + 1 次故障转移,
# 对应 deployment.md §10.4「有界重试其它实例(建议 1 次)」)
vars = {}