在 IIS 7 中禁用 HTTP OPTIONS 动词

在 IIS 7 中禁用 HTTP OPTIONS 动词

我的 .NET 4.0 webapp 使用集成管道在 IIS 7.5 上的 Windows Server 2008 上运行。

我只想启用“四大”HTTP 动词。根据文档,这应该可以解决问题:

<system.webServer>
  <security>
    <requestFiltering>
      <verbs allowUnlisted="false" applyToWebDAV="true">
        <add verb="GET" allowed="true" />
        <add verb="POST" allowed="true" />
        <add verb="PUT" allowed="true" />
        <add verb="DELETE" allowed="true" />                    
      </verbs>
    </requestFiltering>
  </security>
</system.webServer>

但是,正如您可能已经猜到的那样,它不会。发出请求OPTION仍会导致“HTTP 200 OK”,以及 和其他一些请求也是如此LOCKPROPFIND所有这些都通过 WebDAV 实现不是正在安装。

删除该<add verb="GET" ...行会导致 IIS 正确响应 HTTP 404.6(动词拒绝)错误。

我是否忽略了这里一些明显的东西?

答案1

而且我完全错了。IIS 确实响应了 404,但某个<httpErrors>部分启动并提供了 HTTP 200 状态的“404.html”页面。

相关内容