Files
tamabox/outputs/edgeone-noicp-cf-tunnel-guide.md
T
tamakyi e3e59e7c69 chore: baseline snapshot before moderation-strictness feature
Repo .git was damaged (refs/ missing, index truncated, object store near-empty).
Repaired via git init (rebuilt refs), stale index preserved as .git/index.corrupt-20260910.bak,
then full worktree committed as a rollback baseline.
2026-09-10 10:56:27 +08:00

253 lines
24 KiB
Markdown
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.
# TamaBox 免备案双线接入指南(EdgeOne 国际站 + Cloudflare Tunnel)
> **适用场景(2026-09-03 定稿)**:不备案。国内用户走腾讯 EdgeOne 国际站(免备案加速区域「全球可用区(不含中国大陆)」,大陆用户落到香港等最近海外节点,跨域骨干质量优于 CF);海外用户继续走现网 Cloudflare(`box.tama.guru` 已是 `337845818.best` zone 的 SaaS 自定义主机名 + Cloudflare Tunnel 回源,已正常生效)。
>
> **配套代码**:`internal/shared/ip.go` 已支持 EO-Client-IP(境内分支)与 CF-Connecting-IP(海外分支),`trust_proxy=true` 时双头同权信任,无需维护 CDN 大 CIDR 清单。
> ## 🔴 重要勘误(2026-09-03 三次更正定稿)——权威在 DNSPod;分线路已确认生效
>
> ⚠️ **历次结论演进**:
> 1. 初版「权威在 Cloudflare → 需子域委派」**作废**(用户 CF 没有 tama.guru zone,正常——它本来就不该有);
> 2. 二次更正(RDAP 直连 `.guru` 注册局 Identity Digital 铁证):`tama.guru` 注册局 NS 委托 = **`byron.dnspod.net` + `sunshine.dnspod.net`(DNSPod)**。此前误判因 apex `tama.guru` 自身 CNAME → `navi-ew2.pages.dev`(CF Pages),nslookup 跟随 CNAME 链误读;
> 3. **三次更正(12:10 最终确认)**:用户 DNSPod 面板已配好三线路(境内→EO / 境外→CF 优选 `cloudflare.182682.xyz` / 默认→CF 优选),NS=byron/sunshine——**分线路确认生效**:
> - **境外视角**(两家境外服务器 API 实测:hackertarget / networkcalc)→ `CNAME cloudflare.182682.xyz` → CF IP(104.x)✅
> - **境内视角**(223.5.5.5 / 119.29.29.29 / alidns DoH 稳定查询)→ `CNAME eo.dnse4.com` → EO IP(43.174.x)✅
> - 此前「全球四视角全部 EO」的实测是**假象**:大陆本机发往境外公共 DNS(8.8.8.8 / 9.9.9.9 / OpenDNS / 1.0.0.1,UDP 与 TCP 均)的查询被网络劫持/污染,应答按境内线路给出 EO。⚠️ **大陆本机 nslookup 境外 DNS 的结果不可信**,验证分线路必须用境外服务器 API 或境外网络(方法见 2.3 第 4 步)。
> 4. EO 归属验证若依赖 CNAME 自动校验,仍建议改 TXT 验证并把 TXT 放 DNSPod(防止分线路后续期失败)——此条仍适用。
---
## 0. 已核实事实(官方口径)
| 项 | 结论 |
|---|---|
| EdgeOne 加速区域与备案 | 「中国大陆可用区」「全球可用区」**必须备案**;「全球可用区(不含中国大陆)」**无需备案**(国际站同规则) |
| 不备案时大陆用户走哪 | 无大陆节点,就近落香港/日韩/新加坡等海外节点;香港节点走腾讯跨境骨干,大陆延迟通常显著优于 Cloudflare 免费版(仍建议实测) |
| Cloudflare for SaaS | 免费额度 100 个自定义主机名;`box.tama.guru` 已配置并正常打开,海外分支**零改动** |
| EdgeOne EO-Client-IP | **默认关闭**,需手动开启;自定义头部名必须填 `EO-Client-IP`(代码固定读此名) |
| 应用真实 IP 信任 | 已支持:境内→EO-Client-IP;海外→CF-Connecting-IP |
| **回源 IP 段官方入口** | 控制台「**安全防护 → 源站防护**」启用后展示回源 IP 列表(IPv4/IPv6 段);段变更前 14/7/3/1 天站内信+短信+邮件通知;可用 `DescribeOriginACL` API 每 3 天轮询自动同步(intl 文档 1145/48535) |
| **⚠️ 免费套餐限制** | **免费套餐不支持启用「源站防护」**(2026-03 官方答疑)→ 拿不到官方回源段。出路见 2.2「回源网段三选一」 |
| **🔴 DNS 分线路实测(2026-09-03 三次更正定稿)** | `tama.guru` 权威 NS = **DNSPod**(注册局 RDAP:`byron.dnspod.net` + `sunshine.dnspod.net`);CF 无此 zone。三线路(境内→EO / 境外→CF / 默认→CF)**已确认生效**:境外服务器 API → CF(104.x),境内通道 → EO(43.174.x)。⚠️ 大陆本机 nslookup 境外 DNS 会被劫持假返回 EO,不可用作境外视角 |
---
## 1. 目标拓扑
```
┌────────────────────────────────────────────┐
│ DNSPod 托管 tama.guru 整域 zone(权威) │
│ box 记录按线路分流: │
│ 中国境内 ──CNAME──▶ EdgeOne CNAME 目标 │
│ 默认 / 国外 ──CNAME──▶ CF SaaS CNAME 目标 │
└───────┬─────────────────────────────┬──────┘
大陆用户▶▶────────┘ │ 海外用户▶▶
(大陆 ISP 递归命中境内线路) │
▼ ▼
EdgeOne 国际站 Cloudflare 边缘
区域: 全球(不含中国大陆) SaaS 自定义主机名 box.tama.guru
HTTPS 免费证书自动签发 (挂在 337845818.best zone)
│ EO 回源(直连源站公网端口) │ Tunnel(源站主动出站)
▼ ▼
┌────────────────────────────┐ cloudflared(本机/内网)
│ 源站防火墙:仅放行 EO 回源网段│◀──────────────(无入站端口,不受影响)
└───────────────┬────────────┘
▼
TamaBox 应用(监听公网回源端口)
```
**安全前提(缺一不可,否则头信任模型可被绕过):**
1. 源站防火墙只对 **EdgeOne 官方回源网段** 开放回源端口(默认拒绝一切);
2. EO 侧开启「客户端 IP 头」且名称 = `EO-Client-IP`;
3. EO 规则引擎**删除**客户端可伪造的 `CF-Connecting-IP` / `X-Real-IP`(否则大陆攻击者经 EO 带假 CF 头会被应用优先信任);
4. `conf/app.ini` 的 `[security]` 设 `trust_proxy = true`。
> ⚠️ **前提 1 与套餐强相关**:官方回源段只有启用「源站防护」才能拿到,而**免费套餐不支持该功能**。免费版请先读 2.2 的「回源网段三选一」选定替代路径,再继续配置。
> 海外分支天然安全:攻击者只能经 Cloudflare 边缘进来,CF 会用自己的观测值重写 `CF-Connecting-IP`,客户端伪造无效;Tunnel 到源站为出站连接,源站无对应入站口。
---
## 2. 分步实施
### 2.1 EdgeOne 接入(国际站 edgeone.ai)
1. 登录 EdgeOne 国际站控制台 → **添加站点**:
- 站点域名:`box.tama.guru`(直接用子域做站点,避免影响 `tama.guru` 其他记录);
- 加速区域:**「全球可用区(不含中国大陆)」**(勿选含中国大陆的区域——未备案无法添加,选错会要求备案);
- 接入方式:**CNAME 接入**(保留 DNSPod 分线路能力)。
2. **归属验证选「DNS / TXT 验证」**(不要选要求整体 CNAME 的方式):按控制台提示在 DNSPod 为 `box.tama.guru` 添加指定 TXT(或指定子域名的 CNAME),验证通过后**该验证记录保留勿删**(续期/校验会用到)。
3. HTTPS:开启自动免费证书(默认开启)。
4. 状态变「已生效」后,记下控制台分配的 **CNAME 目标**(形如 `<hash>.<region>.edgeone…`,以控制台显示为准),供 2.3 使用。
5. **开启客户端 IP 头**:站点 → 网络优化 / 规则引擎(套餐不同路径略有差异)→「增加客户端 IP 请求头」类功能 → 开启,并把头部名**务必填 `EO-Client-IP`**。
6. **配置回源**:源站地址 = 服务器公网 IP;端口 = 2.2 选择的回源端口(优先高位非标端口,若控制台仅允许 80/443 则用 443 + 源站 TLS,见 2.2);回源 HOST = `box.tama.guru`;协议建议与现状一致(HTTP,由 EO 边缘终结 TLS)。
7. **(可选加固)回源鉴权**:若套餐支持「回源鉴权 / 自定义回源头」,加一个仅源站知道的头(如 `X-EO-Auth: <随机串>`),源站入口校验,作为防火墙白名单之外的纵深兜底。
### 2.2 源站监听公网口(不需要 nginx)与回源锁定(关键安全步骤)
**不需要 nginx/Caddy**:TamaBox 自带 HTTP 服务器,直接让应用监听公网端口即可——nginx 在整套方案里只是可选的「TLS/反代」环节,不是安全环节,低配服务器完全不必装。系统防火墙(ufw/iptables/firewalld)是内核 netfilter 规则,无常驻高内存进程,也不占资源。
1. **改监听地址**:`conf/app.ini` 的 `[server]` 段:
```ini
[server]
port = 18080 ; 换高位非标端口,别用 80/443
listen = 0.0.0.0:18080 ; 关键:从「仅本机」改为「全网卡」,EO 才能远程连入
```
> 说明:此前 Cloudflare Tunnel 单线部署建议 `listen = 127.0.0.1:port`(只对本机 cloudflared 可见);接 EO 直连后必须改为 `0.0.0.0:port`(或删掉 `listen` 留空 = 默认 `:port` 全网卡)。**Tunnel 分支不受影响**——cloudflared 连的是 `127.0.0.1:port`,`0.0.0.0` 监听兼容回环连入。改完重启应用。
> 端口限制:EO 回源端口是否允许高位非标以控制台为准;若只允许标准端口集合,再考虑在 `443` 前置 TLS(届时才需要 Caddy/nginx 或改用 HTTPS 回源)。
2. **EO 回源协议选 HTTP**(TLS 由 EO 边缘终结,与现在 Tunnel 到本机 HTTP 的形态一致)。注意 EO 边缘→源站这段是公网明文,可接受则用,介意再改 HTTPS 回源。
#### 回源网段三选一(决定安全模型)
**背景**:官方回源 IP 段只在「源站防护」功能里给,**免费套餐不支持启用**——这正是你在控制台找不到列表的原因。三条出路:
| 方案 | 成本 | 做法 | 风险 / 说明 |
|---|---|---|---|
| **A. 官方源站防护(推荐)** | EO 基础版以上(以控制台计费为准) | 控制台 → 站点 → **安全防护 → 源站防护** → 启用 → 复制回源 IP 列表(IPv4/IPv6)配防火墙;变更前 14/7/3/1 天会站内信/短信/邮件通知;也可用 `DescribeOriginACL` API 每 3 天轮询自动同步 | 最标准,段变更有官方通知兜底 |
| **B. 观察法自建 ACL(免费)** | 免费 | ① 先把回源端口临时放开(或安全组先放行);② 源站抓 3–7 天回源连接来源:`tcpdump -nn port 18080` 或看应用日志里的对端 IP;③ 把来源聚类成 CIDR;④ 防火墙收紧为只放行这些段;⑤ **每月自查一次**来源是否有新增 | ⚠️ EO 回源段平均 3–6 个月会变,免费档收不到变更通知 → 段变化会导致回源失败;出故障先临时全放再排查。低流量个人站可接受 |
| **C. 不设白名单(不推荐)** | 免费 | 仅靠随机高位端口 + 应用层 Host 校验 | 🔴 源站 IP 一旦泄露即被绕过 CDN 直连,且可伪造 `EO-Client-IP`/`CF-Connecting-IP` 绕过限流/封禁。若仍要走,需先做代码加固:让 ip.go 只信任来自 `trusted_proxies`/回环对端的 CDN 头(另行评审) |
**防火墙(ufw 示例,云安全组同理;按 A 或 B 得到的段列表执行):**
```bash
ufw default deny incoming
ufw allow from <EO_CIDR_1> to any port 18080 proto tcp
ufw allow from <EO_CIDR_2> to any port 18080 proto tcp
# …全部 EO 段放行完毕后,确认没有 0.0.0.0/0 放行 18080
# ssh 等管理端口勿对公网裸开(建议仅内网/跳板)
```
**验证「直连被拒」**:用一台与 EO 无关的外网 VPS 执行 `nc -zv <服务器IP> 18080`,应 `refused / timeout`;随后通过 EO 加速 URL 访问,确认回源返回 200。
**说明**:cloudflared(Tunnel)不受本次开端口影响——它始终是源站**主动出站**连 Cloudflare,不依赖任何入站规则。
### 2.3 DNS 分线路改造(权威在 DNSPod,直接配置;**无需任何委派**)
> **2026-09-03 三次更正后的最终认知(12:10 实测确认)**:注册局 RDAP 铁证 `tama.guru` 权威 NS = `byron.dnspod.net` + `sunshine.dnspod.net`(DNSPod),Cloudflare 从未托管此 zone。DNSPod 面板的**三线路配置(境内→EO / 境外→CF / 默认→CF)已确认生效**(境外服务器 API 实测 → CF;境内通道实测 → EO)。本节仅需**核对面板与下表一致**;不一致时按下表改。
#### 第 1 步:核对 DNSPod 域名列表(关键,避免改错地方)
登录腾讯云解析 DNSPod → 域名列表,确认:
- ✅ 存在 **`tama.guru`**(整域 zone,权威 NS = byron/sunshine.dnspod.net 所在);
- ⚠️ **若还存在一个独立的 `box.tama.guru` 子域 zone**(之前按旧方案误建的)——它不生效且会造成混淆:在 DNSPod 删除它(或忽略它,把配置改到 tama.guru 整域下);
- ⚠️ 确认不是登录错账号/域名在另一个 DNSPod 账号下。
> 判别方法:DNSPod 面板上 tama.guru 域名详情页底部会显示「NS 记录:byron.dnspod.net / sunshine.dnspod.net」;若显示的不是这组,说明域名不在当前账号。
#### 第 2 步:在 tama.guru 整域 zone 里配置 box 记录(主机记录填 `box`)
进入 `tama.guru` → 记录管理,找到/新建主机记录 `box`,**分线路三行**:
| 线路 | 类型 | 记录值 |
|---|---|---|
| **中国境内** | CNAME | `box.tama.guru.eo.dnse4.com`(EdgeOne CNAME 目标,2.1 控制台核对) |
| **境外** | CNAME | **CF SaaS CNAME 目标**(见下) |
| **默认** | CNAME | 同境外(兜底,覆盖未识别线路) |
- ✅ **用户面板实际状态(2026-09-03 12:07 核对)已符合上表,无需改动**:默认 → `cloudflare.182682.xyz`(2025-11-20 建)、境外 → `cloudflare.182682.xyz`(10:54 建)、境内 → `eo.dnse4.com`(11:29 建),NS = byron/sunshine.dnspod.net。若你的面板只有单条「默认 CNAME → EO」,则把它**编辑为线路=中国境内**,再新增境外/默认两条指向 CF。
- CF SaaS CNAME 目标获取:CF 控制台 → zone `337845818.best` → **SSL/TLS → Custom hostnames**(for SaaS)→ `box.tama.guru` 详情里的 **CNAME target**(形如 `<hash>.cdn.cloudflare.net`)。若用第三方「优选 IP」域名,填你的优选 CNAME 亦可(保证解析到 CF 边缘)。
- TTL:`120`~`600`(便于回滚)。
- ⚠️ DNSPod 免费版**支持**境内/境外/默认分线路(基础分线路免费;运营商级细分才收费)。
#### 第 3 步:⚠️ EO 归属验证方式的适配(重要,防止证书续期失败)
- EO 站点若靠「主记录 CNAME → EO 目标」自动验证归属,分线路后**境外/默认线路不再返回该 CNAME**,EO 周期性校验会失败。
- 对策:EO 控制台把验证方式改为 **TXT 验证**(EO 会给一条形如 `_<xxx>.box.tama.guru → TXT <值>` 的验证记录),把这条 TXT **加到 DNSPod 的 tama.guru zone**(主机记录 `_<xxx>`,线路=默认,全球可见);box 的境内线路 CNAME 保持指向 EO 不动。
#### 第 4 步:验证分线路(⚠️ 大陆本机 nslookup 境外 DNS 不可信)
大陆本机向境外公共 DNS(8.8.8.8 / 9.9.9.9 / OpenDNS 等)的查询会被网络劫持/污染,**必然假返回境内线路的 EO**——勿用它判断境外线路。正确方法:
```bash
# 境内视角(本机即可,通道可信)
nslookup box.tama.guru 223.5.5.5 # 期望 → eo.dnse4.com / 43.174.x(EO)
curl -s "https://dns.alidns.com/resolve?name=box.tama.guru&type=A" # 阿里 DoH(HTTPS),同上
```
```text
# 境外视角:用境外服务器 API(浏览器打开即可,2026-09-03 已实测)
# https://api.hackertarget.com/dnslookup/?q=box.tama.guru
# https://networkcalc.com/api/dns/lookup/box.tama.guru
# 期望:CNAME cloudflare.182682.xyz → 104.x / 172.x(CF 边缘 IP)
```
境内 EO + 境外 CF = 分线路成功(2026-09-03 12:10 已按此确认)。若在境外 VPS / 境外网络上,直接 `nslookup box.tama.guru 8.8.8.8` 亦可。
#### 回滚
把 box 的境外/默认线路 CNAME 改回(或删除,只留境内→EO)即回到全量 EO;或把三条都指向 CF 即全量 CF。分钟级生效,见 §5。
### 2.4 Cloudflare 侧(零改动——CF 没有 tama.guru zone,也无需有)
- **无需在 CF 做任何 DNS 操作**:`tama.guru` 的解析权在 DNSPod,CF 控制台不会、也不应出现该 zone。之前「父 zone 委派」方案基于错误前提,**作废**。
- **保持不动**:`337845818.best` zone 的 SaaS 自定义主机名 `box.tama.guru`(证书 + Tunnel 路由)、Tunnel 本身、承载域记录。它们只依赖「有流量带着 `Host: box.tama.guru` 到 CF 边缘」,与 DNS 记录归属无关——DNSPod 分线路把境外流量指到 CF 边缘 IP/CNAME 后,CF 按 Host 自动匹配到该自定义主机名并走 Tunnel 回源。
- **可选纵深**:在 `337845818.best` zone 加一条 Transform Rule「删除请求头 `EO-Client-IP`」——防海外用户经 CF 时把伪造 EO 头带入源站。当前代码因「CF-Connecting-IP 优先」已天然免疫,此规则属可选项。
- **无环路风险**:EO 回源目标是你的源站 IP,不会指回 CF SaaS 域名;CF 分支回源走 Tunnel(出站),互不干扰。
### 2.5 应用配置
`conf/app.ini`:
```ini
[server]
port = 18080
listen = 0.0.0.0:18080 ; EO 直连需要公网可达(纯 Tunnel 时期是 127.0.0.1:port,接 EO 后必须改)
[security]
trust_proxy = true ; 信任 EO-Client-IP / CF-Connecting-IP
```
无需维护 CDN 大 CIDR 清单(安全闭环依赖 2.1~2.2 的防火墙锁定 + 头剥离前提;免费版走观察法方案 B 时同理,前提是端口只对观测到的 EO 来源开放)。
---
## 3. 头信任矩阵(安全模型核对)
| 流量路径 | 到达源站的相关头 | 应用采用 | 伪造风险与对策 |
|---|---|---|---|
| 大陆:用户 → EO → 源站 | `EO-Client-IP`(EO 开启后写入真实客户端 IP);客户端自带的假 `CF-Connecting-IP` 被 EO 规则删除 | `EO-Client-IP` | 若 EO 未开启该功能或未删 CF 头 → 应用会拿到空/伪造 IP,**此为前提 2、3,必须配置** |
| 海外:用户 → CF 边缘 → Tunnel → 源站 | `CF-Connecting-IP`(CF 边缘以观测值重写);客户端伪造的 `EO-Client-IP` 也被透传但被忽略 | `CF-Connecting-IP` | CF 重写不可伪造;代码 CF 优先故天然免疫 |
| 攻击者假设绕过防火墙直连 | 可自带任意头 | — | 防火墙拒绝,到不了应用;纵深:回源 HOST 校验 + 可选 Token |
---
## 4. 上线验证清单
| # | 检查项 | 通过标准 |
|---|---|---|
| 0 | DNS 分线路 | 境内视角(本机):`nslookup box.tama.guru 223.5.5.5` → EO(eo.dnse4.com / 43.174.x);境外视角:境外服务器 API(hackertarget / networkcalc,方法见 2.3 第 4 步)→ CF(104.x)。⚠️ 大陆本机 `nslookup 8.8.8.8` 会被劫持假返回 EO,不可用 |
| 1 | 境内访问 | 大陆节点访问 `https://box.tama.guru` 正常,浏览器证书为 EO 签发;源站/EO 访问日志中客户端 IP = 你的大陆公网出口 IP(说明 `EO-Client-IP` 生效) |
| 2 | 海外访问 | 海外访问正常,日志客户端 IP = 海外出口 IP(CF-Connecting-IP 生效) |
| 3 | 直连封锁 | 外网 VPS `nc -zv <IP> <回源端口>` 拒绝/超时 |
| 4 | 伪造头 | 境内客户端手动带 `CF-Connecting-IP: 1.2.3.4` 请求,日志仍记录真实 IP(EO 删除规则生效) |
| 5 | 限流/封禁联动 | 用 EO 路径触发限流,确认按真实 IP 计数而非 EO 节点 IP |
| 6 | WebSocket/上传 | 若用到 WS:EO 站点需显式开启 WebSocket(CF 侧 Tunnel 原生支持);大体积上传实测通过 |
| 7 | 证书 | 大陆/海外浏览器均无证书告警 |
---
## 5. 回滚顺序
1. **快速回滚(恢复访问)**:DNSPod 里把 box 的「境外/默认」线路临时指向 EO 目标(或全线路都指向 EO)→ 全球走 EO,分钟级生效;
2. **彻底回滚(回到纯 CF 时代)**:DNSPod 里把 box 三条线路统一改为 `CNAME → <原 CF SaaS 目标 / 承载记录>`(全球走 CF);
3. 确认 CF 路径正常后,再逐步收尾:关 EO 客户端 IP 头、撤防火墙放行、删除 EO 站点。
4. ⚠️ 回滚后 EO 归属验证记录(若已按 2.3 第 3 步迁为 TXT)保持在 DNSPod 即可随线路变化继续有效;若 EO 站点还保留,按 EO 控制台提示重新验证。
---
## 6. 合规与风险提示
- 未备案域名面向大陆提供服务:无大陆节点(合规红线决定了这一点),且存在被运营商/监管按未备案域名处置(如阻断)的风险。本方案仅为技术可达路径,业务风险需自行评估。
- 若日后完成备案:EO 加速区域可改「全球可用区」(含大陆节点),大陆延迟进一步下降,DNSPod 分线路结构无需变动,只改 EO 区域并复验。
- `.guru` 等新顶级域在大陆解析/合规环境的稳定性低于 `.com`,如遇解析异常优先查 DNS 污染与线路命中。
---
## 7. 常见问题
- **`EO-Client-IP` 一直没出现?** 功能默认关闭且可自定义头名,需在 EO 侧开启并确认名称一字不差;另外只有走 EO 的流量才会带此头。
- **从大陆本机 `nslookup box.tama.guru 8.8.8.8` 返回 EO,是不是境外线路没生效?** ⚠️ **不是,别被误导**——大陆本机发往境外公共 DNS 的查询会被网络劫持/污染,应答按境内线路给出(EO),UDP 与 TCP 均如此。境外线路是否生效要用**境外服务器视角**验证:浏览器打开 `https://api.hackertarget.com/dnslookup/?q=box.tama.guru` 或 `https://networkcalc.com/api/dns/lookup/box.tama.guru`,返回 `cloudflare.182682.xyz` → 104.x 即境外→CF 生效(2026-09-03 已实测确认)。若境外 API 真返回 EO,才需要回 DNSPod 面板核对 box 记录三行是否齐全、线路字段是否正确(境内→EO / 境外→CF / 默认→CF)、是否误建了未委派的 `box.tama.guru` 子域 zone。
- **DNSPod 面板该核对哪些字段?** ① `box` 记录应有三行且线路分别是:境内(值 `box.tama.guru.eo.dnse4.com`)、境外(值 CF 优选 `cloudflare.182682.xyz` 或 CF SaaS CNAME target)、默认(同境外);② 域名列表只有 `tama.guru` 整域 zone(权威 = byron/sunshine.dnspod.net,域名详情页可见 NS),不应有独立的 `box.tama.guru` 子域 zone;③ 权威归属可用注册局 RDAP 自查(`https://rdap.org/domain/tama.guru` 应返回 byron/sunshine.dnspod.net)。
- **HSTS 报错「无法访问…使用了 HSTS」?** 应用在 ExternalURL 以 https 开头时对响应下发 `Strict-Transport-Security`(1 年,includeSubDomains),浏览器在 HTTPS 时代已记录。切 CDN 后若边缘证书与域名不匹配(如 EO 返回兜底证书 `*.cdn.myqcloud.com`)即触发此页。根因是**新 CDN 证书尚未签发/部署**,等证书正确即自动恢复(域名不在 preload 列表时无需清浏览器);排查命令:`echo | openssl s_client -connect box.tama.guru:443 -servername box.tama.guru \| openssl x509 -noout -subject`,subject 应含 `box.tama.guru`。
- **只放行 EO 段后业务断了?** 大概率回源 IP 段列表不全或已更新:先临时放行全段定位,再按最新清单收紧(付费档以官方源站防护通知为准;免费观察法每月自查来源 IP)。
- **找不到回源 IP 段列表?** 那是「源站防护」功能里的展示项,而**免费套餐不支持启用**——见 2.2「回源网段三选一」。
- **服务器太差不想跑 nginx,直接让服务监听公网端口行不行?** 行,而且推荐这么做:TamaBox 自带 HTTP 服务器,nginx 本就不是必需。只需把 `[server] listen` 改为 `0.0.0.0:port` 并让 EO 回源直连该端口;安全由防火墙网段白名单承担,与是否装 nginx 无关。
- **应用出现 http 跳转 / 非 Secure Cookie?** EO 回源为 HTTP 时应用看到的是 http scheme,与 Tunnel 现状一致。若应用按 scheme 生成链接或下发 Secure Cookie 且行为异常,改为 HTTPS 回源或让应用信任 `X-Forwarded-Proto`。
- **两家 CDN 缓存冲突?** TamaBox 为动态应用,两侧都保持默认不缓存 HTML/API,仅缓存 `static/` 资源。