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

CORS错误未解决:Access-Control-Allow-Origin含多个值'*, *'

解决CORS响应头多值问题

问题描述

从源'http://localhost:3000'访问'https://apicredit2fa.devserver.co.in/api/adminaccount/signin'的XMLHttpRequest已被CORS策略阻止
预检请求的响应未通过访问控制检查:'Access-Control-Allow-Origin'标头包含多个值'*, *',但仅允许一个值。

已配置默认CORS并使用中间件app.UseCors();,尝试固定CORS源后,仍存在*和指定源共存的多值错误。

解决方案

  • 排查重复配置
    检查项目中是否存在多种CORS配置方式:

    • 代码中多次调用app.UseCors()
    • appsettings.json等配置文件中存在CORS相关配置
    • 部署服务器(如IIS)层面添加了Access-Control-Allow-Origin自定义响应头
      重复配置会导致响应头被多次添加,出现多值冲突。
  • 统一代码层面的CORS配置
    在Program.cs(或Startup.cs)中集中配置唯一的CORS策略,确保只调用一次app.UseCors():

    // 定义CORS策略
    builder.Services.AddCors(options =>
    {
        options.AddPolicy("AllowLocalOrigin",
            policy =>
            {
                policy.WithOrigins("http://localhost:3000")
                      .AllowAnyHeader()
                      .AllowAnyMethod();
            });
    });
    
    // 启用策略,注意中间件顺序:放在UseRouting之后,UseAuthorization之前
    app.UseCors("AllowLocalOrigin");
    
  • 清除服务器层面的冲突配置
    若使用IIS部署,检查web.config,移除<httpProtocol>下的Access-Control-Allow-Origin自定义头:

    <!-- 移除这类冲突配置 -->
    <httpProtocol>
        <customHeaders>
            <remove name="Access-Control-Allow-Origin" />
        </customHeaders>
    </httpProtocol>
    
  • 验证结果
    配置完成后,通过浏览器开发者工具的Network面板查看请求响应头,确认Access-Control-Allow-Origin仅包含一个合法值(如http://localhost:3000)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 10:12:10