Мое веб-приложение .NET 4.0 работает на Windows Server 2008 в IIS 7.5 с использованием интегрированного конвейера.
Я хочу включить только «большую четверку» 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 (Verb Denied).
Я упустил что-то очевидное?
Аа, и я был ужасно неправ. IIS действительно отвечал 404, но <httpErrors>
Секция была запущена и обслужила мою страницу "404.html" со статусом HTTP 200.