Azure Web App为何将所有请求转换为GET?本地测试正常部署后异常
Azure Web App POST请求被转为GET的排查方案
检查HTTP版本配置
进入Azure门户你的Web App,在「配置」>「常规设置」中,确认HTTP版本设置为2.0。若当前为1.1,切换后重启Web App重试,HTTP 1.1的某些特性可能导致请求方法异常转换。验证Web.config重写规则
针对ASP.NET/ASP.NET Core应用,检查站点根目录的web.config文件,排查是否存在错误的重写规则强制将POST转为GET。例如以下错误规则需移除或修正:<rule name="Invalid Redirect" stopProcessing="true"> <match url=".*" /> <action type="Redirect" url="{R:0}" /> </rule>调整“总是开启”与ARR亲和性
在「配置」>「常规设置」中,将“总是开启”设为On,ARR亲和性设为On(多实例部署场景)。ARR亲和性关闭可能引发请求路由异常,导致方法被转换。排查Postman请求细节
- 关闭Postman的「Follow Redirects」选项,若Web App返回3xx重定向,Postman自动跟随会将POST转为GET(符合HTTP规范),关闭后查看原始响应是否存在重定向。
- 移除请求URL末尾的分号,改为
mecosapi20230710115011.azurewebsites.net/media后重试,特殊字符可能干扰请求解析。
查看详细诊断日志
开启「诊断日志」>「应用服务日志」,启用文件系统存储和详细错误日志,重新发送POST请求后,查看日志中请求方法转换的触发节点,定位平台或应用中间件的干预行为。
内容的提问来源于stack exchange,提问作者Ruby Rain
相关产品推荐
相关产品推荐

