Назад | Перейти на главную страницу

Как разрешить запросы HTTP OPTIONS в IIS 6?

У меня возникли проблемы с разрешением запросов CORS OPTIONS с веб-сайта, над которым я работаю. Проведя небольшое исследование, у меня сложилось впечатление, что для работы 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, что могло бы вызвать эту ошибку?

В диспетчере IIS щелкните веб-сайт правой кнопкой мыши и выберите «Свойства». Перейдите на вкладку «Домашний каталог» и нажмите кнопку «Конфигурация». В списке расширений приложения найдите расширение, которое использует ваша веб-служба (например, .svc для WCF, .asmx для веб-служб ASP.NET), выберите его и нажмите кнопку «Изменить». В поле «Ограничить до» убедитесь, что ОПЦИИ включены в список, разделенный запятыми.

Затем нажимайте ОК, пока все диалоговые окна не закроются, и должен будь то.