为Domain Server (Wildfly 9)设置监听器的max-parameters



我遇到了一些问题,一个应用程序用尽了侦听器的默认1000个参数,特别是https侦听器。不幸的是,安装应用程序的服务器在域模式下运行Wildfly 9,并且我发现的更改Wildfly服务器上的最大参数的大多数建议都是指在独立模式下运行的服务器。

我已经在我的domain.xml中设置了以下侦听器,但仍然得到一个"UT000047:参数的数量超过了最大值1000"例外:

<subsystem xmlns="urn:jboss:domain:undertow:2.0">
<buffer-cache name="default"/>
<server name="default-server">
<ajp-listener name="ajp" socket-binding="ajp" max-parameters="5000"/>
<http-listener name="default" socket-binding="http" redirect-socket="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"/>
</host>
</server>
<servlet-container name="default">
<jsp-config/>
<websockets/>
</servlet-container>
<handlers>
<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
</handlers>
<filters>
<response-header name="server-header" header-name="Server" header-value="WildFly/9"/>
<response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
</filters>
</subsystem>
<subsystem xmlns="urn:jboss:domain:undertow:2.0">
<buffer-cache name="default"/>
<server name="default-server">
<http-listener name="default" socket-binding="http" redirect-socket="https" max-parameters="5000"/>
<https-listener name="https" socket-binding="https" security-realm="UndertowRealm" enabled-protocols="TLSv1.2"  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"/>
<filter-ref name="modcluster"/>
</host>
</server>
<servlet-container name="default">
<jsp-config/>
<websockets/>
</servlet-container>
<handlers>
<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
</handlers>
<filters>
<response-header name="server-header" header-name="Server" header-value="My Server"/>
<response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="MyHeader"/>
<mod-cluster name="modcluster" management-socket-binding="http" advertise-socket-binding="modcluster"/>
</filters>
</subsystem>
<subsystem xmlns="urn:jboss:domain:undertow:2.0">
<buffer-cache name="default"/>
<server name="default-server">
<ajp-listener name="ajp" socket-binding="ajp" max-parameters="5000"/>
<http-listener name="default" socket-binding="http" redirect-socket="https" max-parameters="5000"/>
<host name="default-host" alias="my.host.local">
<location name="/" handler="welcome-content"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
</host>
</server>
<servlet-container name="default">
<jsp-config/>
<websockets/>
</servlet-container>
<handlers>
<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
</handlers>
<filters>
<response-header name="server-header" header-name="Server" header-value="WildFly/9"/>
<response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
</filters>
</subsystem>

我已经设置了max-parameters参数在所有的潜流侦听器上,我可以找到绝望,但这是不工作的,那么在这种情况下应该如何设置最大参数?

首先需要确定服务器运行的概要文件。您可以在CLI中这样做:

/server-group=main-server-group:read-attribute(name=profile)

一旦您有了配置文件(默认情况下为full),您可以使用以下CLI命令编辑该属性:

/profile=full/subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=max-parameters, value=5000)

本质上,它将与您在standalone中找到的相同,但您在路径前加上/profile=your_profile

最新更新