興味深い質問です。response headersIIS から削除するすべてのメソッドはAllowおよびPublicヘッダーでは機能しないようです。OPTIONS要求は常に次のように返されます。
Allow:  OPTIONS, TRACE, GET, HEAD, POST
Public: OPTIONS, TRACE, GET, HEAD, POST
サーバーが実際に許可するものに関係なく。
IISのすべての要求はモジュールによって処理され、OPTIONS要求はによって処理されますProtocolSupportModule。
そのモジュールを削除すると、サーバーはオプションリクエストに応答しなくなりますが、これは引き続きサポートする必要があるため、別のモジュールを使用してそれらに応答する必要があります。
開いた:
%SystemRoot%\System32\inetsrv\config\applicationHost.config
OPTIONSVerbHandlerその行のコメントを検索し、その行にいる間も上(TRACEVerbHandler)のコメントを検索します。次に、新しいノードを追加します。
<add name="MyOPTIONSVerbHandler" path="*" verb="OPTIONS" modules="StaticFileModule" requireAccess="None" />
ブロック全体は次のようになります。
    <!--  <add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" /> 
          <add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" /> -->
          <add name="MyOPTIONSVerbHandler" path="*" verb="OPTIONS" modules="StaticFileModule" requireAccess="None" /> 
これで、staticFileModuleはOPTIONSリクエストを処理しますが、コンテンツを返しません。
あなたが今作る場合はOPTIONS、サーバーへのリクエストを、あなたが得る文句を言わないAllowでもPublic、ヘッダ、あなたはweb.configファイルに簡単に追加することができます
<system.webServer>
 <httpProtocol>
      <customHeaders>
          <add name="Allow"  value="GET,POST,HEAD" />  
          <add name="Public" value="GET,POST,HEAD" />
      </customHeaders>
  </httpProtocol>        
</system.webServer>
これで、OPTIONS要求は必要に応じて機能しますが、これらの追加ヘッダーは、まだ有効であると思われるGETor POST要求とともに送信されます。
これらのヘッダーをOPTIONSリクエストにのみ使用したい場合は、これらのヘッダーを設定する単純なhttpモジュールを記述して、上記で使用したStaticFileModuleの代わりに使用することができます。