我有一个 ASP.Net 4.0 应用程序,在 Windows 2003 上的 IIS7.5 上使用 Windows 集成身份验证。
一些用户报告了此消息的错误:
错误请求 - 请求太长
HTTP 错误 400。请求标头的大小太长。
其他人成功加载页面,但加载其他资源和执行 AJAX 调用时出错。
遇到间歇性错误的用户之一的 Kerberos 授权标头大约有 5700 个字符。该用户是 250 个 AD 组的成员。我的理论是,其他 HTTP 标头(包括 cookie)的总长度可能会超过 8000 个字符,如果使用 UTF16 编码,则总长度会超过默认的 16KB 限制。
本页介绍如何使用 web.config 配置每个 HTTP 标头的限制:http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits/headerlimits http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits/headerlimits
本页介绍如何使用注册表设置来设置 HTTP 标头大小和总请求大小的限制,默认情况下均为 16KB:https://support.microsoft.com/en-us/kb/820129 https://support.microsoft.com/en-us/kb/820129
- web.config 设置是否会覆盖 HTTP.sys 注册表设置?
- 如果是这样,web.config 是否有总请求大小的设置?
- 注册表具有高优先级,因为驱动程序是数据包的入口点。它也是所有传入 HTTP 数据包的服务器范围设置。
请求过滤设置仅在数据包转发到 IIS 管道时生效。可以多级设置,实现细粒度控制。
- 似乎没有这样的设置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)