解决IIS里的DELETE/PUT请求返回 405的问题(简单直接,很粗暴,我喜欢)

本文介绍了一种简单直接的方法来解决IIS中因WebDAVModule导致的Delete和Put请求返回405的问题。通过禁用WebDAVModule,可以快速有效地解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上的解决方法各种花里胡哨的,有的确实能解决问题,但是不够简单和直接!我就喜欢简单粗暴的方式,Delete和Put请求为啥在IIS里不能使用,返回405,其实就是WebDAVModule捣的鬼,那直接把它禁用了不就得了?!

  1. 进入IIS,选中出问题的站点或应用,可以看到其主页上有个模块功能,如下图所示:
    在这里插入图片描述
  2. 双击模块功能,进入其详细页面,可以看到WebDAVModule项,如下图所示:
    在这里插入图片描述
  3. 右击WebDAVModule,在右击菜单里点击删除,或者在右侧的操作里点击删除,如下图所示:
    在这里插入图片描述
  4. 重启站点或应用,搞定!!!
<think>嗯,用户问的是在IIS中如何允许PUTDELETE请求通过。我需要回忆一下IIS的相关配置步骤。首先,IIS默认情况下可能不启用这些HTTP方法,所以需要手动配置。 首先,我应该想到在IIS管理器中处理这个。可能需要检查处理程序映射或者请求过滤模块。记得PUTDELETE属于WebDAV的一部分,所以可能需要安装或启用WebDAV模块。不过,有时候用户可能不需要WebDAV,只是想允许这些方法,这时候可能需要修改请求过滤设置。 接下来,步骤大概包括打开IIS管理器,选择对应的网站或应用程序,找到请求筛选功能。然后在HTTP方法添加PUTDELETE。另外,处理程序映射中的ExtensionlessUrlHandler可能需要允许这些动词。如果是ASP.NET应用程序,还要确保web.configsystem.webServer模块的配置正确,比如在handlers添加对应的访问权限。 还有,防火墙或安全软件可能会拦截这些请求,所以需要提醒用户检查。测试的时候可以用Postman或者curl发送PUT/DELETE请求看看是否生效。另外,启用这些方法可能会带来安全风险,需要建议用户做好授权和验证措施。 需要注意不同版本的IIS可能界面有些不同,比如IIS 7以上版本步骤类似,但细节可能变化。还要确认用户是否在使用ASP.NET,因为可能需要额外配置。最后,确保步骤清晰,分点列出,用户容易跟随操作。</think>在IIS中允许PUTDELETE请求通过,需要分步骤配置服务器。以下是详细操作流程: --- ### **步骤1:启用WebDAV模块(可选但推荐)** IIS默认通过WebDAV处理PUT/DELETE请求,需确保模块已启用: 1. 打开 **IIS管理器** 2. 进入服务器主页 → **模块** 3. 查找 **WebDAV Publishing** → 右键选择 **启用** --- ### **步骤2:配置请求筛选(Request Filtering)** IIS默认会阻止非标准HTTP方法: 1. 选中目标网站或应用程序 2. 双击 **请求筛选** → 进入 **HTTP方法** 选项卡 3. 点击右侧 **允许HTTP方法** → 添加 `PUT` 和 `DELETE` --- ### **步骤3:修改处理程序映射** 确保处理程序允许PUT/DELETE动词: 1. 进入目标网站 → **处理程序映射** 2. 找到 **ExtensionlessUrlHandler-Integrated-4.0** → 双击编辑 3. 在 **请求限制** → **动词** 选项卡中,输入 `GET,HEAD,POST,DEBUG,PUT,DELETE` --- ### **步骤4:配置web.config(ASP.NET应用需补充)** 在网站根目录的`web.config`中添加: ```xml <system.webServer> <handlers> <remove name="WebDAV" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> </handlers> <modules> <remove name="WebDAVModule" /> </modules> </system.webServer> ``` --- ### **步骤5:验证配置** 使用工具测试: - **Postman**:发送PUT/DELETE请求 - **curl命令**: ```bash curl -X PUT http://yourdomain.com/resource curl -X DELETE http://yourdomain.com/resource ``` --- ### **常见问题排查** 1. **403禁止访问**:检查请求筛选是否放行 2. **404未找到**:确认URL路由正确 3. **405方法不允许**:处理程序映射未正确配置 4. **WebDAV冲突**:若无需WebDAV功能,直接禁用模块 --- ### **安全警告** - 开放PUT/DELETE会增大攻击面,务必配合以下措施: - 启用HTTPS - 配置IP限制 - 使用身份验证(如JWT、Windows Auth) - 设置文件系统写权限最小化 不同IIS版本(7/8/10)界面可能略有差异,但核心配置逻辑一致。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值