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

问题描述 投票:0回答:1

[从带有宽松查询字符串的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 iis-10
1个回答
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。

© www.soinside.com 2019 - 2024. All rights reserved.