17

我收到此错误:

Exception during request processing:
Caused by javax.servlet.ServletException with message:
"Parameter count exceeded allowed maximum: 512"

帖子中传递的参数数量似乎有限制。

如何在 JBoss 中扩展此限制?

4

5 回答 5

22

所有 Web 服务器中的参数数量都受到限制,以阻止 hashmap 冲突拒绝服务攻击

您可以通过将以下系统属性添加到配置文件(例如standalone.xml)来提高限制:

<property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT" value="10000"/>

来源

于 2012-09-05T08:23:37.777 回答
9

以防万一:对于普通的 Tomcat,相应的解决方案是添加:

org.apache.tomcat.util.http.Parameters.MAX_COUNT=10000

catalina.properties

于 2013-07-18T10:47:30.300 回答
5

是的,没错!Aaron Digulla 先生答对了!
但请注意:在 Jboss 7 中,请插入该行

<system-properties>
<property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT"value="10000"/> </system-properties>

<extensions>标签之后,如果不是 Jboss 7 在解析standalone.xml 时会出错,让我举个例子:

<?xml version='1.0' encoding='UTF-8'?>
<server xmlns="urn:jboss:domain:1.2">
<extensions>
    <extension module="org.jboss.as.clustering.infinispan"/>
    <extension module="org.jboss.as.configadmin"/>
    ...
</extensions>
<system-properties>
    <property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT" value="10000" />
</system-properties>
于 2013-07-11T08:12:55.647 回答
0

您需要将以下代码段粘贴到 Jboss 服务器的standalone.xml 中:

<server name="default-server">
                <http-listener name="default" socket-binding="http" max-parameters="5000"/>
                <https-listener name="https" socket-binding="https" max-parameters="5000"/>
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <filter-ref name="server-header"/>
                    <filter-ref name="x-powered-by-header"/>
                    <http-invoker security-realm="ApplicationRealm"/>
                </host>

专注于具有最大参数值的 HTTP 侦听器标记是不同之处。该字段的默认值为:-

org.apache.tomcat.util.http.Parameters.MAX_COUNT=1000

这是作为对此处讨论的 hashmap 冲突拒绝服务攻击的补救措施而完成的

于 2018-12-14T07:44:52.373 回答
0

如果您使用 WildFly,另一种方法是编辑standalone.xml文件并添加max-parameters

<http-listener name="default" socket-binding="http" max-parameters="2690"/>

独立.xml 示例:

...

<subsystem xmlns="urn:jboss:domain:undertow:1.1">
   <buffer-cache name="default"/>
   <server name="default-server">
       <!-- change here-->
       <http-listener name="default" socket-binding="http" max-parameters="2690"/>
       <!-- change here-->
       <host name="default-host" alias="localhost">
           <location name="/" handler="welcome-content"/>
           <filter-ref name="server-header"/>
           <filter-ref name="x-powered-by-header"/>
       </host>
    </server>

...
于 2017-11-01T18:05:27.550 回答