Asp.net mvc HTTP错误400。ASP.NET MVC应用程序中的请求标头太长

Asp.net mvc HTTP错误400。ASP.NET MVC应用程序中的请求标头太长,asp.net-mvc,iis,kerberos,request-headers,Asp.net Mvc,Iis,Kerberos,Request Headers,我们创建了一个使用Windows身份验证的ASP.NET MVC应用程序。我们现在的问题是,有些用户在访问网站时收到以下错误消息: HTTP Error 400. The size of the request headers is too long. 这似乎是由于用户在太多的Active Directory组中 我已经做了以下工作: 我在运行web应用程序的服务器上添加了以下注册表项: HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Servi

我们创建了一个使用Windows身份验证的ASP.NET MVC应用程序。我们现在的问题是,有些用户在访问网站时收到以下错误消息:

HTTP Error 400. The size of the request headers is too long.
这似乎是由于用户在太多的Active Directory组中

我已经做了以下工作:

我在运行web应用程序的服务器上添加了以下注册表项:

HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\MaxFieldLength=>65536

HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\MaxRequestBytes==>16777216

HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services\Lsa\Parameters\MaxTokenSize==>65535

我还在访问web应用程序的客户端计算机上设置了以下注册表项:

HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services\Lsa\Parameters\MaxTokenSize==>65535

然后我重新启动了所有计算机,并再次尝试访问web应用程序。我仍然收到上面的错误消息

有人知道我能做什么吗?
如何进一步调试和分析此问题?

能否根据需要在web.config中设置请求长度限制以再次检查

<configuration>
    <system.web>
        <httpRuntime maxRequestLength="1048576" />
    </system.web>
</configuration>



谢谢。我做了这些更改并重新启动了服务器。不幸的是,我仍然收到相同的错误消息。您在web.config中提到的大小是多少?如回答中所述或根据您的需要?我目前使用2097151表示maxRequestLength,2147483648表示maxAllowedContentLength,但我也使用了示例中的值。首先,您是否监控了400 is http api/2.0或IIS的响应服务器?它将告诉我们应该关注哪一层。如果响应服务器是HTTPAPI,那么您应该关注注册表。否则,您应该关注IIS配置,并承诺已回收应用程序池。响应来自http api/2.0。如果是,则应从http.sys而不是IIS返回错误。奇怪的是,修改注册表项会起作用。如果你想进一步挖掘。捕获etl并分析http.sys日志,此外,您是否监控了请求头是否仍超过配置的大小。
<system.webServer>
   <security>
      <requestFiltering>
         <requestLimits maxAllowedContentLength="1073741824" />
      </requestFiltering>
   </security>
</system.webServer>