The ClusterListener allows a standalone JBoss Web to work with a mod_cluster proxy. It also works in JBoss AS.
To enable it just add in server.xml:
The following parameters are supported:
-
proxyList: list of proxy frond-end that will use us as backend that is a coma separed list of host:port example:
-
ProxyList="localhost:6666,neo:6666"localhost:7666"
-
-
proxyURL: URL prefix to send with the commands default is no prefix
-
proxyURL="/bla"
-
-
socketTimeout: Socket timeout for connections to the httpd servers default 20000ms
-
socketTimeout="20000"
-
-
domain: domain
-
domain="domain1"
-
-
flushPackets: How mod_proxy should flush the packets.
-
flushPackets="on"
-
-
flushWait: Time in millisecond before flushing a packet
-
flushWait="500"
-
-
ping: Max time to wait for a cpong after a cping (Asynchronous and Synchronous ping/pong)
-
ping="10"
-
-
smax: Max number of connection a process will handle in one worker
-
smax="100"
-
-
ttl: Max time an unused connection is allowed to live in mod_cluster.
-
ttl="600"
-
-
nodeTimeout: Max time mod_cluster is going to wait for a node to answer. Value in seconds.
-
nodeTimeout="10"
-
-
balancer: Name of the balancer.
-
balancer="cluster1"
-
-
stickySession: Use sticky session.
-
stickySession="true"
-
-
stickySessionRemove: Remove the session id is the JVMRoute can’t be used to route the request.
-
stickySessionRemove="true"
-
-
stickySessionForce: Return an error is the worker corresponding to the JVMRoute can’t be used.
-
stickySessionForce="true"
-
-
workerTimeout: Max time to wait for a free worker. Note that is a kind of poll try to find the best worker. Value in seconds.
-
workerTimeout="1"
-
-
maxAttempts: Number of retry before giving up (and returning an error)
-
maxAttempts="3"
-
Using mod_advertise
mod_advertise is a small httpd module that allows to discover the httpd front-end instead defining them in proxyList. 3 parameters are supported:
-
Advertise: Default is true if proxyList is not filled.
-
AdvertiseGroupAddress: Address of the multicast to join. Must be the same value as the mod_advertise directive AdvertiseGroup.
-
AdvertiseGroupAddress="232.0.0.2"
-
-
AdvertisePort: Port of the multicast to join. Must be the same value as the mod_advertise directive (mod_advertise default 23364).
-
AdvertisePort="23364"
-
-
AdvertiseSecurityKey: Key the front-end is going to send. Default no key no check.
Using SSL
-
ssl: Use SSL to connect to httpd, default false
-
ssl="true"
-
-
sslCiphers: Ciphers to be used for the SSL connection
-
sslCiphers="cipher1,cipher2"
-
-
sslProtocol: SSL protocol to be used for connection, default "TLS"
-
sslProtocol="name"
-
-
sslCertificateEncodingAlgorithm: Encoding algorithm used for certificates
-
sslCertificateEncodingAlgorithm="alg"
-
-
sslKeyStore: Certificate store, default to "~/.keystore"
-
sslKeyStore="myCertificate"
-
-
sslKeyStorePass: Password for the certificate, default "changeit"
-
sslKeyStorePass="changeit"
-
-
sslKeyStoreType: Certificate store type, default "JKS"
-
sslKeyStoreType="type"
-
-
sslKeyStoreProvider: Certificate store provider
-
sslKeyStoreProvider="provider"
-
-
sslKeyAlias: Alias name for the key
-
sslKeyAlias="alias"
-
-
sslTrustAlgorithm: Encoding algorithm used for the trust certificates
-
sslTrustAlgorithm="alg"
-
-
sslCrlFile: Certificate revocation list
-
sslCrlFile="file"
-
-
sslTrustMaxCertLength: Maximum certificate chain length, default 5
-
sslTrustMaxCertLength="6"
-
-
sslTrustStore: Trust certificate store
-
sslTrustStore="myTrustStore"
-
-
sslTrustStorePassword: Password for the trust store, default is to use the main certificate password
-
sslTrustStorePassword="pass"
-
-
sslTrustStoreType: Certificate store type
-
sslTrustStoreType="type"
-
-
sslTrustStoreProvider: Certificate store provider
-
sslTrustStoreProvider="provider"
-