如何查看Azure App Service 400错误的请求头及内容详情
Azure App Service 400错误详细信息排查方案
可以通过平台原生功能获取失败请求的请求头、响应内容、错误触发位置等全维度信息,具体操作路径如下:
- 启用失败请求追踪(FREB)
进入App Service实例左侧菜单的「App Service日志」页,打开「失败请求追踪」开关,将追踪的状态码规则配置为400,保存配置后等待问题复现。日志生成后,通过「高级工具」进入Kudu管理界面,打开DebugConsole进入LogFiles/W3SVC开头的对应站点目录,即可下载xml格式的追踪日志。日志内会完整记录请求处理全链路的模块事件、完整请求头、请求体、响应内容、错误抛出的具体模块/处理节点,是定位400错误最核心的依据,可以直接区分错误是IIS层拦截返回、平台层规则拦截还是应用代码返回。 - 开启Web服务器日志与应用日志
同样在「App Service日志」配置页,开启Web服务器日志、应用程序日志,选择文件系统或关联的存储账户作为日志存储位置,按需设置日志保留周期。Web服务器日志会记录所有请求的源IP、请求方法、路径、关键请求头字段、响应状态码、请求耗时;如果应用侧有请求参数、异常的埋点日志,开启应用日志后可以直接获取业务层记录的请求参数、异常堆栈,快速定位代码逻辑触发的400问题。 - 关联Application Insights查看端到端请求详情
如果App Service已开启Application Insights集成,无需修改业务代码,直接在你之前查看4xx错误统计的「HTTP 4xx Errors」面板,点击单条错误记录即可跳转至端到端事务详情页。页面默认展示请求头、查询参数、客户端信息、依赖调用链路,手动开启请求/响应体采集开关后,还可以查看完整的请求载荷和返回内容,代码抛出的400错误会自动关联对应异常堆栈和代码位置。 - 实时日志流复现排查
若问题可稳定复现,直接打开左侧菜单的「日志流」功能,选择实时拉取Web服务器日志和应用日志,触发错误请求的同时可以实时看到请求处理全流程的日志输出,无需等待日志落盘下载。
排查提示:0.05%占比的低发400错误,常见诱因包括客户端构造的请求携带非法请求头、请求头/请求体大小超过配置阈值、请求参数不符合HTTP规范、前置网关/WAF拦截。排查时优先查看失败请求追踪日志中的
MODULE_SET_RESPONSE事件,可直接定位返回400状态码的具体模块,大幅缩短排查路径。如果App Service前置配置了Application Gateway、Front Door或CDN,需要同步排查对应网关层的WAF拦截日志,避免漏判网关层触发的拦截。
内容的提问来源于stack exchange,提问作者jamesp111
相关产品推荐
相关产品推荐

