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

Azure Function本地调试模拟存储报407 Proxy Authentication Required错误

错误产生原因

时间触发类型的Azure Function启动时,必须通过配置的存储账户(你当前用的是本地Azurite模拟存储)完成监听器初始化、租约管理等核心操作。
你所在环境的系统全局已经配置了HTTP/HTTPS正向代理,Azure Functions运行时及依赖的Azure.Storage.Blobs SDK默认会继承系统代理配置,将**所有HTTP/HTTPS请求(包括访问本地127.0.0.1上Azurite服务的请求)**全部转发到公司代理。而公司代理要求身份认证,访问本地回环地址的请求不会携带代理认证信息,因此代理返回407 Proxy Authentication Required响应,最终导致Function监听器启动失败。
你在local.settings.json中添加的代理相关配置不生效,是因为Azure Functions运行时检测到对应参数已经在系统环境变量中存在,会直接使用系统级配置,跳过local.settings.json中的重复定义;且现有代理配置没有添加本地地址的绕过规则,本地Azurite的访问请求始终被转发到代理,才会触发这个错误。Azurite本身已经正常启动监听,问题和Azurite服务状态无关。

修复配置步骤

按优先级选以下任意一种方案调整即可:

  • 方案1:修改系统环境变量添加本地地址代理绕过
    找到系统环境变量中的NO_PROXY和no_proxy项(部分.NET SDK对大小写敏感,两个参数都要配置),在原有值末尾追加127.0.0.1,localhost,确保本地回环地址的请求不经过代理。修改完成后必须完全重启Visual Studio 2022(不要只停止调试重跑),让VS进程加载新的环境变量后再启动调试。
  • 方案2:仅在项目调试配置中添加绕过规则,不修改系统全局配置
    右键Function项目进入「属性-调试-调试启动配置文件」,打开launchSettings.json,在你当前使用的调试配置节点的environmentVariables段中添加两个绕过参数,配置示例如下:
    "environmentVariables": {
      "AzureWebJobsStorage": "UseDevelopmentStorage=true",
      "FUNCTIONS_WORKER_RUNTIME": "dotnet",
      "NO_PROXY": "127.0.0.1,localhost",
      "no_proxy": "127.0.0.1,localhost"
    }
    
    项目级调试配置的优先级高于系统环境变量,配置保存后直接启动调试即可,不会影响系统内其他软件的代理设置。
  • 方案3:如果后续切换为使用云端真实Azure Storage账户而非本地Azurite调试,需要在代理配置中补充有效的身份认证信息,代理地址格式调整为http://[代理账号]:[代理密码]@[代理IP]:[代理端口],同时确保代理放通对应Azure存储端点的访问权限即可。

配置完成后重新启动调试,存储监听器即可正常连接Azurite,时间触发器可以正常加载运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 09:15:45