MessageWeave/cloudflare-worker/wrangler.toml

46 lines
3.1 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 不进代码/日志(SAF-LOG-PURITY / C-NO-SECRET-IN-IMAGE;C-LB-SHARED-SECRETS:
# 所有后端实例共享同一组 secret)。唯一明文例外是 [vars] 里的 BACKEND_ORIGINS_JSON——
# 它的值只是公开 https origin,不是凭据(见该段的「明文例外的边界」)。
# - 日志无密钥(SAF-LOG-PURITY):只打「方法/路径/origin/失败类别」,origin 清单走 secret。
# - 仅允许转发 safelist 路由(C-LB-SINGLE-REG-URL);未知路径 404。
#
# 部署:
# cd cloudflare-worker
# npx wrangler deploy
# BACKEND_ORIGINS_JSON 现在写在下方 [vars](见该段的注释与例外条款);
# 仅当里面出现非公开值时才改用 `npx wrangler secret put BACKEND_ORIGINS_JSON`。
name = "messageweave-lb"
main = "src/index.js"
compatibility_date = "2025-01-01"
compatibility_flags = ["nodejs_compat_v2"]
# 统一 HTTPS 入站(C-HTTPS-URL;平台代 TLS,Worker 内为短请求模型)。
# 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] 里的 origin 只能是**公开可达的 https origin**(当前就是)。
# 一旦出现内网地址、带内嵌凭据的 URL、或不想公开的 staging 主机名,立刻从 [vars] 删掉,
# 改用 `npx wrangler secret put BACKEND_ORIGINS_JSON`(git 历史不可逆,删掉不等于没进过库)。
# 其余三个 LB_* 保持可调、不写死,用 dashboard 的 Add Variable 覆盖默认值即可。
[vars]
BACKEND_ORIGINS_JSON = '["https://messageweave-eu-1.motofans.club"]'