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

服务器部署后PUT API报405错误排查求助

解决IIS上PUT API返回405 (Method Not Allowed)的额外配置排查点

你已经移除了WebDAV模块,但仍遇到405错误,可以从以下几个方向排查:

  • 彻底移除WebDAV相关配置:仅移除模块还不够,需要同时移除WebDAV处理程序。在web.config的<system.webServer>节点下补充配置:

    <system.webServer>
      <modules runAllManagedModulesForAllRequests="false">
        <remove name="WebDAVModule"/>
      </modules>
      <handlers>
        <remove name="WebDAV"/>
      </handlers>
    </system.webServer>
    
  • 检查IIS请求筛选规则:确认IIS允许PUT谓词。可以通过两种方式配置:

    1. 图形化操作:选中目标网站,打开「请求筛选」→切换到「HTTP谓词」标签,确认PUT在允许列表中
    2. 配置文件方式:在web.config中添加:
    <system.webServer>
      <security>
        <requestFiltering>
          <verbs>
            <add verb="PUT" allowed="true"/>
          </verbs>
        </requestFiltering>
      </security>
    </system.webServer>
    
  • 验证API端点的路由与特性配置:

    • 确保PUT端点正确标记了[HttpPut]特性(ASP.NET MVC/Web API场景)
    • 检查路由模板是否和请求URL完全匹配,避免因路由不匹配导致的方法不允许错误
  • 检查IIS模块映射配置:

    • 如果是ASP.NET Core应用,确认AspNetCoreModuleV2模块映射包含PUT谓词
    • 对于传统ASP.NET应用,确认System.Web.Http.WebHost相关处理程序已正确注册,且支持PUT方法
  • 排查第三方拦截模块:

    • 检查是否有URL重写规则、安全防护模块(如WAF)或其他自定义模块拦截了PUT请求,可临时禁用这些模块测试是否恢复正常
  • 确认应用程序池配置:

    • ASP.NET Core应用需确保应用程序池设置为「无托管代码」模式
    • 传统ASP.NET应用需匹配正确的.NET Framework版本,托管模式设置合理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:02:08