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

第三方网关重复User-Agent致ASP.NET Core 6连ASEv2报400错误

ASEv2与公共App Service/WebSocket重复请求头问题解答

差异原因

  • ASEv2基于传统IIS管道(搭配ASP.NET Core模块V1),对重复请求头的校验逻辑非常严格,当检测到重复的User-Agent这类头时,会直接在请求到达ASP.NET Core代码之前返回HTTP 400错误,因此后端无法捕获该错误。
  • 公共Azure App Service和ASEv3默认使用ASP.NET Core模块V2(ANCM V2),该模块会自动合并重复的请求头,或者跳过这类严格校验,所以相同请求能正常处理。
  • ASEv3的底层IIS配置经过优化,对转发请求的兼容性更好,而ASEv2保留了更多传统IIS的严格校验规则。

临时允许重复请求头的方案

1. 修改web.config启用ANCM V2并添加环境变量

在应用的web.config文件中,切换到AspNetCoreModuleV2,并添加允许重复头的环境变量配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\YourApp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess">
        <environmentVariables>
          <environmentVariable name="ASPNETCORE_ALLOWDUPLICATEHEADERS" value="true" />
          <environmentVariable name="ASPNETCORE_FORWARDEDHEADERS_ENABLED" value="true" />
        </environmentVariables>
      </aspNetCore>
    </system.webServer>
  </location>
</configuration>

替换YourApp.dll为你的应用程序集名称即可。

2. 通过Azure应用配置添加环境变量

直接在ASEv2的应用服务配置页中,新增两个环境变量:

  • 键:ASPNETCORE_ALLOWDUPLICATEHEADERS,值:true
  • 键:ASPNETCORE_FORWARDEDHEADERS_ENABLED,值:true
    保存后重启应用即可生效。

3. 调整IIS服务器级配置(需ASE管理员权限)

如果拥有ASE的管理员权限,可以修改服务器的applicationHost.config文件,放宽请求头校验规则:

<system.webServer>
  <security>
    <requestFiltering allowDoubleEscaping="true">
      <requestLimits>
        <headerLimits>
          <add header="User-Agent" allowed="true" />
        </headerLimits>
      </requestLimits>
    </requestFiltering>
  </security>
</system.webServer>

此操作会影响ASEv2上的所有应用,需谨慎执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:35:22