.NET 4.0 webappがWindows Server 2008のIIS 7.5で統合パイプラインを使用して実行されています。
「ビッグ4」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
リクエストを実行しても、LOCK
、PROPFIND
などのように、「HTTP 200 OK」が発生します。 WebDAVがインストールされていない場合のこれらすべて。
<add verb="GET" ...
行を削除すると、IISがHTTP 404.6(Verb Denied)エラーで正しく応答します。
ここに明らかなものが欠けていますか?
Aaand私はひどく間違っていました。 IISは確かに404で応答していましたが、<httpErrors>
セクションが開始され、HTTP "200"ステータスの "404.html"ページが表示されました。