我收到此错误:
Exception during request processing:
Caused by javax.servlet.ServletException with message:
"Parameter count exceeded allowed maximum: 512"
帖子中传递的参数数量似乎有限制。
如何在 JBoss 中扩展此限制?
所有 Web 服务器中的参数数量都受到限制,以阻止 hashmap 冲突拒绝服务攻击。
您可以通过将以下系统属性添加到配置文件(例如standalone.xml
)来提高限制:
<property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT" value="10000"/>
(来源)
以防万一:对于普通的 Tomcat,相应的解决方案是添加:
org.apache.tomcat.util.http.Parameters.MAX_COUNT=10000
在catalina.properties
是的,没错!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>
您需要将以下代码段粘贴到 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
如果您使用 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>
...