UCloud AI接口必须指定地域节点,否则默认走公网DNS导致高延迟;指定后直连内网VIP可将RT从800ms降至120ms以内,需通过CURLOPT_RESOLVE绑定对应Region的VIP并关闭SSL验证。
不指定地域节点时,UCloud AI 服务默认走公网 DNS 路由,请求可能被调度到离你物理距离最远的可用区(比如你在北京却打到广州节点),实测 RT 常超 800ms。指定地域节点本质是直连该 Region 的内网 VIP,绕过公网抖动和跨域路由,北京调 cn-bj2 节点可压到 120ms 内。
关键不是改 URL 域名,而是通过 CURLOPT_RESOLVE 强制将官方域名解析为对应地域的 IP 地址。UCloud AI 各节点真实 IP 不公开,需先用 dig 或 nslookup 查出目标 Region 的 VIP(例如 cn-bj2 对应 100.64.128.10)。
CURLOPT_RESOLVE 格式必须为 ["host:port:ip"],比如 ["api.uai.ucloud.cn:443:100.64.128.10"]
host:ip,端口必须显式带上,否则 cURL 会忽略CURLOPT_SSL_VERIFYPEER 和 CURLOPT_SSL_VERIFYHOST,UCloud 内网 VIP 的证书 Subject 不匹配公网域名Host: api.uai.ucloud.cn,服务端靠这个识别租户和模型$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.uai.ucloud.cn/v1/xxx");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Host: api.u
ai.ucloud.cn",
"Authorization: UCloud xxx",
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_RESOLVE, ["api.uai.ucloud.cn:443:100.64.128.10"]);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
UCloud 控制台不直接提供 VIP,但可通过以下方式反推:
cn-bj2)部署一台 UCloud 云主机,curl -v https://api.uai.ucloud.cn 2>&1 | grep "Connected to" 看实际连的 IPtelnet api.uai.ucloud.cn 443 配合 ss -tn 抓连接目标地址100.64.0.0/10 或 10.0.0.0/8 段,且同一 Region 多次请求返回 IP 稳定如果用 curl_init() 在长生命周期进程里反复调用,必须手动清理 CURLOPT_RESOLVE 缓存,否则下次请求若换地域会复用旧 IP:
curl_setopt($ch, CURLOPT_RESOLVE, []); 清空curl_reset($ch) 重置句柄(PHP ≥ 7.2)curl_close() 自动清理——它不释放 CURLOPT_RESOLVE 绑定CURLOPT_RESOLVE 和关闭证书校验——漏掉任一环,延迟就退回公网水平。