[英]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.