从带有loooong查询字符串的HTTP请求-在这种情况下为2847-,我收到错误404.15并显示以下消息:
在日期数据库“ applicationhost.config”或“ web.config”中,Einstellung的“ configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString”。
英语:
检查“ applicationhost.config”或“ web.config”文件中的“ configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString”设置。
我这样做是通过遵循documentation并将最大查询字符串长度从2048个字符更改为4096个字符来实现的。
很明显,由于原始错误消息消失了,上述更改已生效。
相反,我现在遇到与最大查询字符串长度有关的另一个错误, still 。这次,它带有HTTP代码400,并显示:
可以从maxQueryStringLength-Wert的Anforderungüberschreitet中删除。
英语:
请求的查询字符串长度超过配置的maxQueryStringLength值。
现在,我已经扫描了整个磁盘上的所有*.config
文件,以查看是否出现了子字符串maxQueryString
。这样的事件总共只有一次,它是我的IIS默认网站的Web.config
文件,
<requestLimits maxQueryString="4096" />
因此,其他条件一定会影响最大查询长度-在哪里可以配置此设置?
答案 0 :(得分:0)
首先,请确保您在iis中启用了匿名身份验证:
在web.config文件中设置以下代码:
<system.web>
<httpRuntime maxUrlLength="10999" maxQueryStringLength="2097151" />
……
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxUrl="10999" maxQueryString="2097151" />
</requestFiltering>
</security>
</system.webServer>
注意:设置值比您的要求高一点。以上只是一个例子。 在根文件夹配置文件中设置此值。并在进行更改后重新启动iis。