Azure WebApp Cors不添加Cors头
我有一个Owin WebAPI2.NET应用程序,我在Azure的AppService上托管该应用程序 我想使用Azure as添加CORS支持。看起来很简单,您只需向列表中添加一个源站点,如下所示: 我现在希望响应头包含这个允许的来源 但是,当我使用Fiddler检查时,CORS头不包括在响应头中: 我尝试过的步骤:Azure WebApp Cors不添加Cors头,azure,cors,azure-web-app-service,Azure,Cors,Azure Web App Service,我有一个Owin WebAPI2.NET应用程序,我在Azure的AppService上托管该应用程序 我想使用Azure as添加CORS支持。看起来很简单,您只需向列表中添加一个源站点,如下所示: 我现在希望响应头包含这个允许的来源 但是,当我使用Fiddler检查时,CORS头不包括在响应头中: 我尝试过的步骤: 从我的解决方案中剥离所有CORS Nuget库以及API项目中的所有CORS代码跟踪 部署到全新的AppService 异壁 这些都没有任何效果。(即,响应不包含Azure
- 从我的解决方案中剥离所有CORS Nuget库以及API项目中的所有CORS代码跟踪
- 部署到全新的AppService
- 异壁
Access Control Allow Origin:http://www.test-cors.org
如预期
但这毫无意义?当“”不在允许的来源中时,上一次调用肯定会失败吗?它似乎没有做任何有用的事情 您可以通过在web.config中添加以下配置来实现这些目标:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept,Authorization"/>
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
</customHeaders>
</httpProtocol>
</system.webServer>
如果您想从门户控制,请查看下图:
注意,根据应用程序服务CORS,您不能在一个API应用程序中同时使用Web API CORS和应用程序服务CORS。您必须清理关于Web API CORS的项目
不要试图在一个API中同时使用Web API COR和应用程序服务COR
应用程序。应用服务CORS优先,Web API CORS优先
没有效果。例如,如果您在应用程序中启用一个源域
服务,并启用Web API代码中的所有源域
Azure API应用程序将仅接受来自您在中指定的域的调用
蔚蓝
我的问题是我不小心将http而不是https放入Azure AD B2C自定义页面配置刀片。。。更改为https后,它就像一个符咒
嗨,Ionut,谢谢你,我发现web.config的方式是有效的,但是我想用Azure应用程序服务控制CORS,因为每个应用程序服务槽都有不同的要求(我知道我可以用debug webconfigs实现这一点)。我的问题是为什么Azure CORS功能不能按预期工作?嗨,罗德尼,你可以从门户控制每个插槽的CORS标题:选择YOUR应用程序、插槽,然后从刀片菜单选择CORS。你试过这个吗?我在我的回答中添加了一个图像Hi Ionut,是的,我已经这样做了,但它不起作用(这就是我的问题所在-请参阅我原始问题中的屏幕截图链接)。它的行为似乎很怪异,而且平淡不起作用。嗨,罗德尼,我根据你的需要更新了我的帖子。关于Ionut,我感谢您的努力,但是这是我在上面的问题中尝试的第一步(去掉所有CORS库,只使用Azure)。它不起作用。Azure应用程序服务cors标头未发出
protected void Application_BeginRequest()
{
if (Request.Headers.AllKeys.Contains("Origin") && Request.HttpMethod == "OPTIONS")
{
Response.Flush();
}
}