You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

集成Azure AI Video Indexer时遇URL_UNREACHABLE错误求助

Azure AI Video Indexer URL_UNREACHABLE 问题排查与解决

问题情况

集成Azure AI Video Indexer时,调用索引接口的POST请求返回URL_UNREACHABLE错误,但目标下载URL可通过浏览器正常访问,且下载服务器未配置认证。修改响应头为内联流后问题仍未解决。

报错信息

org.springframework.web.client.HttpClientErrorException$BadRequest: 400 Bad Request: "{"ErrorType":"URL_UNREACHABLE","Message":"Url 'https://server/api/v1/download/3911ed0c-16eb-4ad8-a282-244006f05346' is unreachable. Trace id: '06e23f6f-d3d7-4bd1-a750-51877b30e8e9'."}"

当前使用的SpringBoot下载接口代码

@GetMapping("download/{uuid}")
public ResponseEntity<StreamingResponseBody> download(@PathVariable String uuid) throws Exception {

    DownloadResult result = teService.download(uuid);

    return ResponseEntity.ok()
            .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + uuid + "\"")
            .header(HttpHeaders.CONTENT_LENGTH, result.getObjectSize().toString())
            .header(HttpHeaders.CONTENT_TYPE, result.getMimeType())
            .header(HttpHeaders.PRAGMA, "public")
            .header(HttpHeaders.EXPIRES, "-1")
            .header(HttpHeaders.CACHE_CONTROL, "public, must-revalidate, post-check=0, pre-check=0")
            .body(result.getResponseBody());
}

排查与解决建议

  • 检查服务器网络可达性:确认下载服务器的公网IP/域名可被Azure AI服务访问,防火墙/安全组未限制Azure AI服务的IP段(可参考Azure官方提供的AI Video Indexer出站IP范围配置白名单)。
  • 简化响应头配置:移除不必要的缓存相关响应头(PRAGMA、EXPIRES、CACHE_CONTROL),仅保留CONTENT_DISPOSITION、CONTENT_LENGTH、CONTENT_TYPE,避免复杂头导致AI服务解析异常。
  • 验证无状态请求兼容性:用curl或Postman发起不带Cookie、自定义User-Agent的纯GET请求,模拟Azure AI服务的调用方式,确认接口能正常返回内容(浏览器访问会自动携带会话信息,但AI服务请求是无状态的)。
  • 检查流实现正确性:确认StreamingResponseBody的实现没有异常,可临时替换为返回静态视频文件测试,排除流处理逻辑的问题。
  • 确认URL格式:检查传递给Azure AI的URL是否存在编码问题,确保URL是标准的HTTP/HTTPS格式,无特殊字符未编码的情况。

内容的提问来源于stack exchange,提问作者Roberto Gonzalez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 14:55:01