web-dev-qa-db-ja.com

IIS 6でHTTPOPTIONSリクエストを許可する方法は?

作業中のWebサイトからのCORSOPTIONSリクエストを許可するのに問題があります。いくつかの調査を行った後、CORS OPTIONSリクエストを機能させるには、次のことが必要であるという印象を受けました。

[HTTPヘッダー]タブの下には、次のものがあります。

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST,DELETE,OPTIONS
Access-Control-Allow-Headers: x-requested-with, cache-control, content-type, Origin

[ホームディレクトリ]タブで、実行権限をScripts OnlyまたはScripts and Executablesに設定します。

これをすべて実行しましたが、次のリクエストを送信しようとすると、403.1エラーが発生します。

Request URL:https://mystaging.verbalink.com/Secure/File/Handler.ashx?Id=9070c032-cced-4155-af29-6f6df476598d,c606c3c8-d06f-43ce-ab25-0614b0142659
Request Method:OPTIONS
Status Code:403 Forbidden

Request Headers
OPTIONS /Secure/File/Handler.ashx?Id=9070c032-cced-4155-af29-6f6df476598d,c606c3c8-d06f-43ce-ab25-0614b0142659 HTTP/1.1
Host: mystaging.verbalink.com
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://mystaging.verbalink.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31
Access-Control-Request-Headers: cache-control, Origin, x-requested-with, content-type
Accept: */*
Referer: http://mystaging.verbalink.com/Secure/File/MultiUpload2.aspx
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Query String Parametersview sourceview URL encoded
Id:9070c032-cced-4155-af29-6f6df476598d,c606c3c8-d06f-43ce-ab25-0614b0142659

Response Headers
HTTP/1.1 403 Forbidden
Allow: OPTIONS, TRACE, GET, HEAD, POST
Content-Length: 1758
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Access-Control-Allow-Methods: POST,DELETE,OPTIONS
Access-Control-Allow-Headers: x-requested-with, cache-control, content-type, Origin
Access-Control-Allow-Origin: *
Public: OPTIONS, TRACE, GET, HEAD, POST
Date: Mon, 08 Apr 2013 20:19:10 GMT

私がIISを構成した方法で、このエラーを引き起こす可能性のある問題を誰かが見ていますか?

3
Abe Miessler

IISマネージャで、Webサイトを右クリックして[プロパティ]を選択します。[ホームディレクトリ]タブに切り替えて、[構成]ボタンをクリックします。アプリケーション拡張機能のリストで、Webサービスが使用する拡張機能を見つけます(例:WCFの場合は.svc、ASP.NET Webサービスの場合は.asmx)、それを選択して[編集]ボタンをクリックします。[制限]フィールドで、OPTIONSがコンマ区切りのリストに含まれていることを確認します。

Screenshot of dialog boxes

次に、ダイアログボックスがすべて閉じられるまで[OK]をクリックします。そうすると、shouldになります。

4
David Keaveny