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

本地通过ngrok触发Azure Function无法获取真实状态码与响应体

根因说明

ERR_NGROK_6022提示页、5xx状态码被替换为200的问题,本质是未完成账号授权的ngrok客户端自带的拦截机制,和Azure Function本身无关:

  • 未配置专属authtoken的ngrok免费隧道,会在上游服务返回错误、或触发免费版访问阈值时,直接返回ngrok内置的HTML提示页,强制将响应状态码改为200,完全吞掉上游服务的真实响应内容
  • 上游返回2xx成功状态时不会触发该拦截逻辑,因此你能正常拿到函数执行成功的响应,和你观察到的现象完全吻合
  • 部署在Azure云端的函数不经过ngrok代理,不存在拦截层,因此可以正常返回真实状态码与响应体
配置步骤
  1. 绑定ngrok账号authtoken
    注册/登录ngrok账号,在个人控制台复制你的专属authtoken,在本地终端执行以下命令完成绑定,将命令中YOUR_AUTH_TOKEN替换为你复制的实际token值:
    ngrok config add-authtoken YOUR_AUTH_TOKEN
    
  2. 启动隧道时关闭内置检查逻辑(可选,配置token后仍有问题时执行)
    如果配置完authtoken后仍存在5xx响应被篡改的情况,启动ngrok隧道时追加--no-inspect参数,关闭ngrok默认的流量检查与错误页拦截逻辑:
    ngrok http http://localhost:7071 --no-inspect
    
  3. 验证结果
    重启隧道后重新触发Azure Function的500错误场景,Power Automate端即可正常接收到函数返回的真实500状态码与对应响应体,不会再出现ERR_NGROK_6022的HTML内容。
注意事项

不要使用未授权的修改版ngrok客户端,这类客户端通常内置了响应篡改逻辑,触发规则后会强制替换响应内容,无法实现全状态码透传。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 03:15:46