web-dev-qa-db-ja.com

IIS 7でHTTP OPTIONS動詞を無効にする

.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リクエストを実行しても、LOCKPROPFINDなどのように、「HTTP 200 OK」が発生します。 WebDAVがインストールされていない場合のこれらすべて。

<add verb="GET" ...行を削除すると、IISがHTTP 404.6(Verb Denied)エラーで正しく応答します。

ここに明らかなものが欠けていますか?

3
Anton Gogolev

Aaand私はひどく間違っていました。 IISは確かに404で応答していましたが、<httpErrors>セクションが開始され、HTTP "200"ステータスの "404.html"ページが表示されました。

4
Anton Gogolev