Leaptic Photon · 海外 App 区域域名链路

getRegionalDomain 境外请求实测

只看境外客户端打到国内集群的真实记录 + 服务端源码判定链
数据窗口 2026-10-20 11:46–18:30,全部记录均为当日(容器日志仅当日留存) 境外请求 23 次 / 7 个 IP 源码 photon-server.bundle @ 5608c591 生成 2026-10-20 18:40 CST

1 · 结论先行

境外客户端打到国内集群的区域发现请求:全部成功、服务端 2 ms,但跨境链路要 1.5–3.7 秒,而且这个接口只在 CN 提供。
统计口径:Pod 日志只剩两份文件(1.log 2026-10-20 11:46–18:30、0.log 10-08 14:00–14:17 残片),所以下面所有数字都是今天约 6.7 小时的快照,不能外推为"历史全量"。
境外请求 / 成功率
23 / 100%
失败 0 · 无响应 0
服务端耗时(ms)
1–3
中位 2 ms
境外 IP 数
7
英国 19、美国 2、新加坡 2
EU / US 实例该接口
0 次
区域发现只在 CN

2 · 为什么"登录前调用"和"按账号判"不矛盾

这个接口确实是在登录流程中、拿到登录结果之前调的,但它不需要登录态,只需要登录标识:手机号、邮箱、一键登录的 loginToken、第三方 accessToken。服务端拿这些标识去 user_domain 表查该账号上一次绑定的区域。

// UserAuthController.java:169
@PostMapping("/getRegionalDomain")
public Result<QueryRegionalDomainResp> getRegionalDomain(
        @RequestBody(required = false) QueryRegionalDomainReq req,
        @RequestHeader(value = HeaderConstants.Custom.REGION) String region,
        @RequestHeader(value = HeaderConstants.Custom.PLATFORM, required = false) String platform)

// UserDomainServiceImpl.java:43 —— 判定顺序
if (req == null || req.getLoginType() == null) return getDefaultRegionalDomain(region);
switch (req.getLoginType()) {
  case PHONE_CAPTCHA, PHONE_PASSWORD -> userDomain = queryByPhoneNumber(req.getPhoneNumber());
  case EMAIL_CAPTCHA, EMAIL_PASSWORD -> userDomain = queryByEmail(req.getEmail());
  case PHONE_ONE_KEY            -> userDomain = queryByLoginToken(req.getLoginToken(), platform, req.getOneKeyProvider());
  case THIRD_PARTY              -> userDomain = queryByThirdPartyToken(req.getThirdAccessToken(), req.getThirdLoginType());
}
if (userDomain != null) return 该账号绑定的 domain/region;      // ① 命中绑定
boolean isCnForced = 中国手机号 || PHONE_ONE_KEY || 微信;                // ② 强制 CN
if (isCnForced) return getDefaultRegionalDomain("CN");
return getDefaultRegionalDomain(region);                               // ③ 请求头 Region
// ④ getDefaultRegionalDomain 查 sys_region_domain;查不到 region 码 → 降级 DE(EU 域)
loginType服务端拿什么判没命中绑定时的规则
PHONE_CAPTCHA / PHONE_PASSWORD手机号 → user_domain中国手机号(Validator.isMobile)→ 强制 CN;海外号码 → 用请求头 Region
EMAIL_CAPTCHA / EMAIL_PASSWORD邮箱 → user_domain用请求头 Region
PHONE_ONE_KEYloginToken(+ 一键登录 provider)一律强制 CN
THIRD_PARTYthirdAccessToken + 类型微信 → 强制 CN;google/facebook/apple → 请求头 Region
(不传 loginType)—直接用请求头 Region

实测印证:23 次境外请求里 23 次返回区域 = 客户端请求头 Region;全部 23 次都一致,无一例外。IP 完全不参与这个决策——全量数据里同一个 IP(183.36.5.163)能同时拿到 CN 和 FR,就是登录方式/绑定不同导致的。

3 · 境外请求明细(23 次)

按时间倒序,全部为境外 IP。这 23 条全部发生在 2026-10-20 14:21:25 ~ 2026-10-20 17:49:30(同一天):2026-10-20(23 条)。耗时单位 ms(服务端 LogAspect 记录)。

时间(2026-10-20,UTC+8)客户端 IP国家平台耗时返回区域返回域名
2026-10-20 17:49:30152.101.7.81SGios2FRphoton-eu.leaptic.tech
2026-10-20 17:48:42152.101.7.81SGios2FRphoton-eu.leaptic.tech
2026-10-20 16:53:2946.255.75.61GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:51:2346.255.75.61GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:48:2494.156.65.63GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:43:2794.156.65.63GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:40:50193.222.98.159GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:40:22193.222.98.159GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:39:58193.222.98.159GBios3PLphoton-eu.leaptic.tech
2026-10-20 16:38:38193.222.98.159GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:37:1594.156.65.63GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:37:0494.156.65.63GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:35:4594.156.65.63GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:35:3694.156.65.63GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:35:21193.222.98.159GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:34:43193.222.98.159GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:31:4194.156.65.63GBios2PLphoton-eu.leaptic.tech
2026-10-20 16:20:2717.185.64.94USios3USphoton-us.leaptic.tech
2026-10-20 16:18:0717.185.64.94USios2USphoton-us.leaptic.tech
2026-10-20 14:25:1191.92.197.103GBios2PLphoton-eu.leaptic.tech
2026-10-20 14:23:2393.123.20.172GBios2PLphoton-eu.leaptic.tech
2026-10-20 14:23:1593.123.20.172GBios1PLphoton-eu.leaptic.tech
2026-10-20 14:21:2593.123.20.172GBios2PLphoton-eu.leaptic.tech

4 · 按境外 IP 聚合(7 个)

客户端 IP国家城市 / ISP请求耗时 min/中位/max返回区域|域名时间跨度
94.156.65.63GBCanary Wharf / Sparks Communicati72 / 2 / 2PL|photon-eu.leaptic.tech10-20 16:31 – 16:48
193.222.98.159GBCity of London / Sparks Communicati62 / 2 / 3PL|photon-eu.leaptic.tech10-20 16:34 – 16:40
93.123.20.172GBCity of London / Sparks Communicati31 / 2 / 2PL|photon-eu.leaptic.tech10-20 14:21 – 14:23
17.185.64.94USVacaville / Apple Inc.22 / 3 / 3US|photon-us.leaptic.tech10-20 16:18 – 16:20
46.255.75.61GBCanary Wharf / Sparks Communicati22 / 2 / 2PL|photon-eu.leaptic.tech10-20 16:51 – 16:53
152.101.7.81SGSingapore / CITIC Telecom Inte22 / 2 / 2FR|photon-eu.leaptic.tech10-20 17:48 – 17:49
91.92.197.103GBCanary Wharf / Sparks Communicati12 / 2 / 2PL|photon-eu.leaptic.tech10-20 14:25 – 14:25

5 · 境外 IP 访问国内集群(全量请求,不只这一个接口)

同一窗口内,国内集群共接到 1760 次请求 / 132 个真实客户端 IP,其中境外 50 个 IP、177 次请求。下面按国家排(条形 = 请求量)。

CN 中国1583 次 / 82 IP
US 美国45 次 / 19 IP
MY 马来西亚42 次 / 10 IP
DE 德国22 次 / 2 IP
GB 英国20 次 / 5 IP
SG 新加坡19 次 / 2 IP
PH 菲律宾19 次 / 5 IP
FR 法国4 次 / 2 IP
UA 乌克兰2 次 / 1 IP
TR 土耳其1 次 / 1 IP
HK 香港1 次 / 1 IP
UY 乌拉圭1 次 / 1 IP
BR 巴西1 次 / 1 IP

境外来源 TOP(按请求数)

IP国家城市请求HostUA 构成
43.157.56.214DEFrankfurt am M20photon-prod.leaptic.tech:20APP:20
152.101.7.81SGSingapore17photon-prod.leaptic.tech:17CURL:9,APP:7,OTHER:1
172.226.44.169MYKuala Lumpur12www.leaptic.tech:12BROWSER:12
72.60.26.56USBoston10www.leaptic.tech:10BROWSER:10
27.125.241.249MYKuala Lumpur8photon-prod.leaptic.tech:8APP:8
180.75.241.3MYKuala Lumpur7www.leaptic.tech:7BROWSER:7
94.156.65.63GBCanary Wharf7photon-prod.leaptic.tech:7APP:7
193.222.98.159GBCity of London7photon-prod.leaptic.tech:6,www.leaptAPP:6,BROWSER:1
143.44.240.185PHTaguig6www.leaptic.tech:6BROWSER:6
119.93.200.216PHOton5www.leaptic.tech:5BROWSER:5
17.185.64.94USVacaville5photon-prod.leaptic.tech:5APP:5
202.8.43.135USSterling5www.leaptic.tech:5BROWSER:5
66.249.68.160USMountain View4www.leaptic.tech:4BROWSER:4
113.211.107.24MYKuala Lumpur4www.leaptic.tech:4BROWSER:4
182.62.146.137MYKuala Lumpur3www.leaptic.tech:3BROWSER:3
27.125.247.28MYKuala Lumpur3www.leaptic.tech:3BROWSER:3
93.123.20.172GBCity of London3photon-prod.leaptic.tech:3APP:3
136.158.8.89PHQuezon City3www.leaptic.tech:3BROWSER:3
136.158.57.92PHMandaluyong3www.leaptic.tech:3BROWSER:3
90.65.218.89FRSaint-Galmier3www.leaptic.tech:3BROWSER:3
16.216.88.127USBrooklyn2www.leaptic.tech:2BROWSER:2
68.194.74.26USPiscataway2www.leaptic.tech:2BROWSER:2
195.64.115.160USVirginia Beach2www.leaptic.tech:2BROWSER:2
49.125.220.175MYPuchong2www.leaptic.tech:2BROWSER:2
202.8.42.225USAshburn2www.leaptic.tech:2BROWSER:2

注意 43.157.56.214(腾讯云法兰克福)打的是 /api/v1/device/isActivated、/device/detail —— 这是服务端到服务端调用,不是终端用户;其余为真实 App / 浏览器。

6 · 端到端时延:服务端 2 ms,用户等 1.5–3.7 秒

洛杉矶出口 → 上海(本机实测)

轮次TLS 握手TTFB
#13.178 s3.739 s
#21.094 s2.286 s
#31.082 s1.454 s

广州直连对照

轮次TCPTTFB
#10.004 s2.487 s
#20.004 s1.235 s

服务端处理只要 2 ms,其余全是 TLS 握手 + 跨境 RTT。也就是说:接口没慢,链路慢。

7 · 风险与建议

项现状影响建议
单点依赖区域发现只在 CN(EU/US 实例 0 次)国内集群下线 / 抖动 → 海外启动链路必挂把该接口在 EU/US 实例也发布,或客户端内置区域映射表
失败兜底客户端 .failure → 硬切 chinaProdHost(CN 域)一次建连失败 → 所有业务请求跨境打到上海 → 空白/黑屏兜底改为"沿用上次成功的区域域",首次安装才回 CN
跨境时延1.5–3.7 s(TLS + RTT)弱网下极易超时,触发上面的兜底客户端缓存结果 + 连接复用;服务端加 CDN/就近接入
Region 头可被客户端左右92/93 由请求头决定客户端传错 → 拿错区域域名(非安全问题,是配置问题)客户端首次安装用 isChinaMainland/IP 选一次,之后以服务端绑定为准
待确认:① 统计窗口只有今天 6.7 小时,历史失败率无法回溯(服务端日志已滚掉);② 若客户端的建连阶段超时,服务端一行日志都没有——真实失败率只能靠客户端埋点 network.region_switch 补齐。