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

Azure托管React PWA偶发POST请求500错误排查问询

问题背景

我们有一个基于React 16.14.0的PWA,部署在Microsoft Azure高级层App Service计划上。近期偶发问题增多:连接应用时,UI对接的三个后端中某一个(或多个)会出现500错误,此时该后端的所有POST请求均失败,但GET请求正常(排除DNS问题);仅无请求体的POST请求例外。OPTIONS预检请求返回204,但实际POST请求返回500。
测试环境仅单实例,排除负载均衡问题。Azure监控工具无请求到达后端的记录(Application Insights、失败请求日志均无相关信息)。该问题影响所有后端:同计划内的.NET Framework 4.8.1后端、两个.NET 8后端均受影响。浏览器报错为Failed to load resource: net::ERR_FAILED。

疑问
  • 为何仅影响POST请求?希望借此定位根因;
  • 500错误是否可能由前端导致?曾了解到React(如react-router)可能返回500,但原以为500必来自后端,现存疑。
已尝试操作
  • 通过Chrome DevTools禁用浏览器缓存;
  • Chrome网络选项中绕过Service Worker;
  • 重启后端App Service,问题依旧;
  • 更换浏览器(Firefox也受影响);
  • 使用旧版Chrome(通过Selenium测试);
  • 用Fiddler捕获到500请求;
  • 升级axios至最新版本;
  • 将JS后端调用从XHR迁移至fetch;
  • 为fetch请求设置cache为no-store;
  • 排除CORS问题(同源站点也出现该错误,且CORS问题应是持续而非偶发);
  • 清除所有站点数据、Cookie、缓存并强制刷新;
  • 在Postman中使用相同HTTP头、请求体、Cookie等测试,请求正常;
  • 确认问题至少3个月前出现,近几周频发;
  • 影响Azure多区域(北欧、英国南部);
  • 影响不同地域用户(美国西部的Selenium测试连接英国南部站点也出现随机失败)。
待尝试操作
  • 将.NET 8后端从Windows App Service迁移至Linux(Kestrel)环境,排查是否为IIS问题;
  • 清空Redis缓存中的所有身份令牌;
  • 升级React及所有npm包(工作量大)。
临时修复方法
  • 重启浏览器;
  • 等待5-15分钟;
  • 使用不同浏览器会话(如Chrome隐身模式)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 22:34:59