You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

VSTS代理经受限代理下载制品失败,求访问URL列表及配置排查建议

嘿,我之前在严格管控的环境里配置Azure DevOps(原VSTS)代理时也碰到过几乎一样的问题,给你分享下解决思路和需要注意的点:

首先,Azure DevOps代理需要放行的核心URL列表

针对你下载制品失败的场景,优先确保以下URL能被代理服务器允许访问:

  • 你的组织专属URL:https://dev.azure.com/[你的组织名称](如果是旧版VSTS则是https://[你的组织名称].visualstudio.com
  • Azure Artifacts制品存储地址:https://pkgs.dev.azure.com/[你的组织名称]
  • 全局服务基础域名:https://*.visualstudio.comhttps://*.dev.azure.com(覆盖所有Azure DevOps相关的子服务)
  • 身份验证相关地址:https://login.microsoftonline.comhttps://login.live.com(代理需要完成OAuth身份验证才能正常对接服务)
  • 工具依赖分发地址:https://*.visualstudioassets.com(代理会从这里下载任务所需的工具包、依赖)
配置环节的排查要点

除了URL白名单,你也可以检查下现有配置是否有遗漏:

  • 确认NO_PROXY环境变量已正确设置:需要排除本地回环地址(比如localhost,127.0.0.1),否则代理可能拦截代理进程的本地通信,导致任务执行异常
  • 验证环境变量生效情况:在代理机器上运行echo $HTTP_PROXY/echo $HTTPS_PROXY(Linux/macOS)或echo %HTTP_PROXY%/echo %HTTPS_PROXY%(Windows),确保变量值是正确的代理地址(格式应为http://[代理IP]:[端口],HTTPS_PROXY可复用同一个地址,多数代理支持双协议)
  • 检查代理服务器是否允许HTTPS隧道转发(CONNECT方法):下载制品用的是HTTPS请求,严格的代理可能默认禁止CONNECT方法,需要单独放行到上述URL的CONNECT请求
  • 调整代理超时设置:你看到的重试报错可能是请求超时导致的,配置代理时可以加上--proxytimeout [秒数]参数延长超时时间,比如:./config --proxyurl http://your-proxy:8080 --proxytimeout 60
获取精准URL列表的方法

如果上面的核心列表还不够,你可以用两种方式拿到更精准的地址:

  1. 抓包分析:在代理机器上用Wireshark、Fiddler这类工具抓包,当代理尝试下载制品时,查看被拒绝的请求对应的URL,直接把这些地址加到白名单——这在严格锁定的环境里特别实用,能精准匹配你组织的实际服务地址
  2. 官方文档:微软针对Azure DevOps代理的网络要求有详细的分区域URL列表,你可以查阅对应文档获取完整清单
最后再提个小建议

如果配置完白名单和代理参数后还是有问题,可以重启代理服务,并且查看代理的日志文件(默认在代理安装目录下的_diag文件夹里),日志里会有更详细的失败原因,比如具体哪个URL被拒绝,能帮你快速定位问题。

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

火山引擎 最新活动