在哪里设置最大查询字符串长度?

时间:2020-04-16 13:11:48

标签: iis iis-10

从带有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" />

因此,其他条件一定会影响最大查询长度-在哪里可以配置此设置?

1 个答案:

答案 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。