[从带有宽松查询字符串的HTTP请求-在这种情况下为2847-,我收到以下消息,返回错误404.15:
位于日期数据库“ applicationhost.config”或“ web.config”中的“配置/system.webServer/security/requestFiltering/requestLimits@maxQueryString”。
英语:
检查“ applicationhost.config”或“ web.config”文件中的“ configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString”设置。
我通过遵循documentation,并将最大查询字符串长度从2048个字符更改为4096个字符来完成。
显然,由于原始错误消息消失了,上述更改has生效了。
相反,我现在遇到与最大查询字符串长度有关的another错误,still错误。这次,它带有HTTP代码400,并说:
[我的工作人员无法使用maxQueryStringLength-Wert。
英语:
请求的查询字符串长度超过了配置的maxQueryStringLength值。
现在,我已经扫描了整个磁盘上的所有*.config
文件,以查看是否出现了子字符串maxQueryString
。这样的事件总共只有一次,它是我的IIS默认网站的Web.config
文件,它表示
<requestLimits maxQueryString="4096" />
因此,其他一些因素必须影响最大查询长度-我可以在哪里配置此设置?
首先,请确保您在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。