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

ASP.NET Core中CORS的WithExposedHeaders配置不生效问题排查

为什么WithExposedHeaders()在CORS预检请求中不显示?

这不是配置失效,是符合CORS规范的正常行为,原因如下:

  • 预检请求(OPTIONS)的核心职责:仅用于验证跨域请求的合法性,返回的响应头只包含与"请求权限"相关的内容,比如Access-Control-Allow-Origin、Access-Control-Allow-Methods、Access-Control-Allow-Headers等,Access-Control-Expose-Headers不属于预检需要返回的头字段。

  • Access-Control-Expose-Headers的作用场景:它只需要在实际业务请求(如GET/POST等)的响应中返回即可,目的是告诉浏览器:哪些自定义响应头可以被JavaScript通过response.headers.get()等API访问到。你已经确认该头在实际响应中存在,说明你的配置是生效的。

  • 验证配置是否生效的正确方式:在前端发起实际请求后,用以下代码测试能否获取自定义头:

fetch('你的接口地址', { credentials: 'include' })
  .then(response => {
    console.log(response.headers.get('X-My-Custom-Response-Header'));
  });

如果能打印出头值,说明配置完全正常,无需纠结预检请求里是否包含该头。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 23:04:57