繁体   English   中英

如何禁用Azure Web App覆盖CORS

[英]How to Disable Azure Web App from overwriting CORS

我有一个.NET Core 2.1应用程序,并且在ConfigureServices添加了CORS策略:

services.AddCors(options => options.AddPolicy("CorsPolicy",
            builder =>
            {
                builder.AllowAnyMethod().AllowAnyHeader()
                       .WithOrigins("http://localhost:4200")
                       .AllowCredentials();
            }));

然后在Configure

app.UseCors("CorsPolicy");

在本地,这很好。 当我部署到Azure Web App时,它不起作用。 我的客户得到:

“对预检请求的响应未通过访问控制检查:响应中的“ Access-Control-Allow-Credentials”标头的值为“,当请求的凭据模式为” include”时必须为“ true””

我可以通过在本地删除.AllowCredentials()行来重新创建该确切错误。

我从文档中了解到Azure CORS会接管任何代码CORS:

“不要尝试同时使用App Service CORS和您自己的CORS代码。一起使用时,App Service CORS优先,您自己的CORS代码无效。”

我似乎无法阻止Azure Web Apps接管。 我曾尝试使用CLI删除CORS,但无法完全摆脱它。

az resource update --name web --resource-group MyGroup --namespace Microsoft.Web --resource-type config --parent sites/MySite --set properties.cors.allowedOrigins="" --api-version 2015-06-01

将所有操作都设置为allowedOrigins为null。 但是它仍然在接管。 如何从Azure中删除所有CORS痕迹,以便仅使用我的代码? 或者,在最坏的情况下,如何在Azure中执行“ AllowCredentials”的等效操作?

我遇到了同样的问题,必须删除Azure Portal应用程序服务的cors选项卡下的所有“允许的来源”,然后重新启动。

如果这不起作用,则有一些有关删除Web配置中的选项标头的建议,此处在Azure网站(Azure App Services)中启用Access-Control-Allow-Credentials标头

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM