我的 .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”,以及 和其他一些请求也是如此LOCK
。PROPFIND
所有这些都通过 WebDAV 实现不是正在安装。
删除该<add verb="GET" ...
行会导致 IIS 正确响应 HTTP 404.6(动词拒绝)错误。
我是否忽略了这里一些明显的东西?
答案1
而且我完全错了。IIS 确实响应了 404,但某个<httpErrors>
部分启动并提供了 HTTP 200 状态的“404.html”页面。