You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core CORS策略为何未返回Access-Control-Allow-Origin响应头?

ASP.NET Core CORS 配置详解

咱先把你给出的CORS配置代码格式化好,方便阅读和维护:

builder.Services.AddCors(options => 
{
    options.AddPolicy(name: "MyPolicy", policy => 
    {
        policy.WithOrigins(
            "http://example.com", 
            "http://www.contoso.com", 
            "https://cors1.azurewebsites.net", 
            "https://cors3.azurewebsites.net", 
            "https://localhost:56055", 
            "https://localhost:5001"
        )
        .WithMethods("PUT", "DELETE", "GET");
    });
});

这段代码的核心作用解析:

  • 首先通过builder.Services.AddCors()向DI容器注册CORS服务
  • 定义了一个名为MyPolicy的CORS策略,指定了两个关键规则:
    • WithOrigins:明确列出允许跨域请求的源(域名+端口),只有这些来源的前端请求会被服务器接受
    • WithMethods:限制允许的HTTP请求方法,这里只开放了PUT、DELETE和GET三种

几个实用补充提示:

  • 配置完策略后,一定要在中间件管道中启用CORS,比如在Program.cs里加上app.UseCors("MyPolicy");(注意要放在UseRouting之后,UseAuthorization之前)
  • 如果生产环境需要允许动态源,或者不想硬编码所有源,可以考虑用配置文件读取,或者结合SetIsOriginAllowed方法自定义判断逻辑
  • 如果需要允许自定义请求头,可以在策略中追加.WithHeaders("自定义头名称"),或者用.AllowAnyHeader()(生产环境按需使用)
  • 要是你提到的响应头截图显示CORS相关字段未正确返回,先检查中间件是否正确启用,以及请求的源/方法是否在配置的范围内

内容的提问来源于stack exchange,提问作者lightbulb04

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 22:02:33