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

IIS 8.5发送PROPFIND请求出现405 Method Not Allowed错误求助

解决IIS 8.5中PROPFIND请求返回405 Method Not Allowed的问题

从你贴出的Failed Request Tracing日志里,核心问题其实已经很明显了:

Event MODULE_WARNING ModuleName WebDAVModule Data1 WebDAV Disabled

这说明WebDAV模块虽然在配置文件里有定义,但实际上并没有被启用,这才导致你的PROPFIND请求被直接拒绝,返回405错误。下面是针对性的排查和修复步骤:

1. 先确认WebDAV角色服务真的装了

别光看配置,先检查服务器上有没有安装WebDAV发布角色服务:

  • 打开「服务器管理器」→「添加角色和功能」
  • 找到「Web服务器(IIS)」→「Web服务器」→「常见HTTP功能」,确保「WebDAV发布」已经勾选
  • 安装完成后,记得运行iisreset重启IIS服务

2. 修复web.config里的WebDAV配置冲突

你在web.config里先移除WebDAV handler再重新添加的操作有问题:

  • WebDAVModule是IIS内置模块,不需要手动指定scriptProcessor,这会导致模块加载异常
  • 这种重复定义反而会覆盖applicationHost.config里的正确配置

建议把web.config的相关部分改成这样:

<system.webServer>
  <handlers accessPolicy="Read, Execute, Script">
    <remove name="WebDAV" />
  </handlers>
  <webdav>
    <authoring enabled="true">
      <properties allowAnonymousPropfind="true" allowInfinitePropfindDepth="true" />
    </authoring>
  </webdav>
</system.webServer>

这样既移除了可能冲突的handler定义,又明确启用了WebDAV创作功能,同时继承applicationHost.config里的正确handler配置。

3. 检查applicationHost.config的模块注册

确保applicationHost.config里已经正确注册了WebDAV模块,找一下这段配置:

<globalModules>
  <add name="WebDAVModule" image="%windir%\System32\inetsrv\webdav.dll" />
</globalModules>

如果这一行缺失,手动加上,然后重启IIS。

4. 验证站点级的WebDAV设置

打开IIS管理器,对着你的站点做这几步:

  • 打开「WebDAV创作规则」,确保已经创建了允许访问的规则(比如允许所有用户,或者你需要的特定用户组)
  • 打开「WebDAV设置」,确认「允许匿名PROPFIND」和「允许无限深度PROPFIND」已经启用(和你配置文件里的设置对应上)

5. 排查请求筛选的限制

检查站点的「请求筛选」→「HTTP谓词」:

  • 确保PROPFIND没有被加入拒绝列表
  • 确认「允许未列出的谓词」是启用状态(和你applicationHost.config里的verbs allowUnlisted="true"一致)

做完这些步骤后,再测试PROPFIND请求,应该就能解决405的问题了。如果还是不行,建议检查一下应用程序池的身份有没有足够的权限访问站点的目录。

内容的提问来源于stack exchange,提问作者Tim vdBerg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:03:17