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

Azure DevOps自托管代理调用LRE认证接口请求超时问题咨询

问题产生原因
  • 代码存在明显疏漏:定义了认证请求头Authheaders但未在requests.get方法中传入,导致请求未携带认证信息,被服务端拦截后无响应最终超时;另外代码中存在未闭合的字符串语法错误(URL='http://xxx.xx.xx.x缺少末尾单引号)
  • 请求特征被拦截:requests库默认的User-Agent标识为python-requests/版本号,LRE服务端的WAF、安全规则或访问控制策略会拦截这类爬虫特征的请求,而浏览器、SOAP UI的请求UA符合正常访问特征因此可以正常返回
  • 代理环境网络配置冲突:Azure自托管代理运行环境中存在系统级/用户级的代理配置、环境变量http_proxy/https_proxy未清空,requests默认会读取这些配置,导致请求被转发到不可达的代理节点引发超时
  • 权限差异:你在本地验证ping、telnet、浏览器访问时使用的是普通登录用户,而Azure自托管代理通常以服务账户身份运行,该账户可能存在网络访问限制、防火墙出站规则限制
  • Azure网络规则限制:自托管代理所属的Azure资源(虚拟机/VMSS/容器实例)的NSG(网络安全组)、路由表未放通到LRE服务端80端口的出站流量,你之前的验证操作可能是在本地机器而非代理节点上执行的
排查解决方法
  • 优先修复代码问题:
    1. 补全代码语法错误,确保URL字符串正常闭合
    2. 调用requests.get时传入提前定义的请求头,新增模拟浏览器的User-Agent配置,强制禁用代理,调整超时时间,参考修改后的请求代码:
    Authheaders = {
        'Connection': 'keep-alive',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
        'Host':'xxx.xx.xx.x'
    }
    # 直接使用requests内置的Basic认证方法,避免手动拼接Authorization头出错
    Authresponse=requests.get(
        AuthURL,
        headers=Authheaders,
        auth=('你的LRE用户名', '你的LRE密码'),
        proxies={"http": None, "https": None}, # 强制不走任何代理
        timeout=30
    )
    
  • 环境层面排查:
    • 直接登录到Azure自托管代理的运行节点,使用代理服务的运行账户执行代码验证,不要在本地机器测试
    • 检查代理节点的环境变量,确认http_proxy、https_proxy、HTTP_PROXY、HTTPS_PROXY四个变量均为空
    • 检查自托管代理所属Azure资源的NSG出站规则,确认放通了到LRE服务端IP 80端口的TCP流量
    • 查看LRE服务端的访问日志、WAF拦截日志,确认是否存在来自自托管代理IP的请求被拦截的记录
    • 若仍存在超时,在代理节点上用Wireshark/tcpdump抓取80端口的流量,确认请求是否成功发出、是否收到服务端的响应包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:36:04