2014-11-25 4 views
2

У меня есть мое приложение работает хорошо работает на VS 2013, но когда я публикую на IIS 8.5 CORS перестает работать из-за:WebApi2 + CORS + Owin сбой IIS 8.5

No 'Access-Control-Allow-Origin' header is present on the requested resource. 

Я попробовал это в web.config, но все тот же:

<httpprotocol> 
    <customheaders> 
    <add name="Access-Control-Allow-Origin" value="*"></add> 
    </customheaders> 
</httpprotocol> 

ошибка возникает при попытке аутентификации:

XMLHttpRequest cannot load http://<myurl>/token 

у меня есть такая конфигурация для OWIN и, опять же, его работы хорошо работают локально:

app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); 
app.UseOAuthBearerTokens(OAuthOptions); 
+2

Вы очистили все обработчики http? Некоторые обработчики asp.net, вероятно, перехватывают запрос, прежде чем он попадет в ваше приложение. Ваш веб-конфигурация должна выглядеть следующим образом <добавить имя = глагол "Owin" = "*" путь = "*" тип = "Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin .Host.SystemWeb "/>

ответ

0

Я решаю проблему. Я получал ошибку 500, которую Chrome не перехватывает. После использования Feddler я смог увидеть, что действительно происходит с моим запросом, и я сделал intecept правильную ошибку ответа.

Важно: Если вы получаете ошибку на сервере с CORS Он ответит вам, как No 'Access-Control-Allow-Origin' header is present on the requested resource., я не знаю, почему, но делает вещи трудно проследить.

Смежные вопросы