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

如何移除Azure Web App中的Access-Control-Expose-Headers响应头

解决Azure Web App自定义域名下额外响应头问题

生产环境修改web.config触发500错误,多是配置格式错误或与现有配置冲突,可尝试以下正确操作:

  • 确保httpProtocol节点嵌套在system.webServer下,配置代码如下:
<system.webServer>
  <httpProtocol>
    <customHeaders>
      <remove name="ARRAffinity" />
      <remove name="ARRAffinitySameSite" />
    </customHeaders>
  </httpProtocol>
</system.webServer>
  • 若为ASP.NET Core站点,建议通过代码移除,避免web.config冲突:
app.Use(async (context, next) =>
{
    context.Response.Headers.Remove("ARRAffinity");
    context.Response.Headers.Remove("ARRAffinitySameSite");
    await next();
});

二、消除Request-Context与Access-Control-Expose-Headers头

这两个头多来自Azure Application Insights集成或隐式CORS处理,可通过以下方式禁用:

  • 在Azure门户的Web App「配置-应用程序设置」中,添加APPINSIGHTS_AUTOCOLLECT_REQUEST_CONTEXT并设置为false,关闭Application Insights的请求上下文自动收集
  • 检查是否启用了Azure Front Door/CDN的隐式CORS配置,如有则关闭不必要的相关设置
  • ASP.NET Core项目可通过中间件强制移除头:
app.Use(async (context, next) =>
{
    await next();
    context.Response.Headers.Remove("Request-Context");
    context.Response.Headers.Remove("Access-Control-Expose-Headers");
});

三、排查生产与测试环境配置差异

  • 核对生产环境是否开启了Application Insights、Azure Front Door/CDN、自定义域名HTTPS强制跳转等测试环境未启用的服务,这些配置可能触发额外响应头
  • 对比两地的应用程序设置列表,确保没有启用测试环境未开启的集成项

内容的提问来源于stack exchange,提问作者Steve Reed Sr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 11:50:22