【发布时间】:2020-07-29 17:50:23
【问题描述】:
从带有 loooong 查询字符串(在本例中为 2847)的 HTTP 请求中,我收到错误 404.15 并显示以下消息:
Überprüfen Sie die Einstellung "configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString" in der Datei "applicationhost.config" oder "web.config"。
英文:
检查“applicationhost.config”或“web.config”文件中的“configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString”设置。
我这样做了,遵循 documentation 并将最大查询字符串长度从 2048 个字符更改为 4096 个字符。
显然,上述更改已经产生了影响,因为原来的错误消息已经消失了。
相反,我现在收到 another 错误,仍然与最大查询字符串长度有关。这一次,它带有 HTTP 代码 400 并说:
Die Länge der Abfragezeichenfolge für die Anforderung überschreitet den konfigurierten maxQueryStringLength-Wert.
英文:
请求的查询字符串长度超过了配置的 maxQueryStringLength 值。
现在,我已扫描整个磁盘上的所有 *.config 文件,以查找是否出现任何子字符串 maxQueryString。总共只有一次这样的情况,它是我的 IIS 默认网站的Web.config 文件,上面写着
<requestLimits maxQueryString="4096" />
因此,必须有其他因素影响最大查询长度 - 我还能在哪里配置此设置?
【问题讨论】:
-
检查服务器上的事件日志,它可能会更清楚。您必须确定需要更新哪个 web.config —— 那里可能不会有 maxQueryStringLength,并且需要创建它。 web.config 中的条目应类似于: