J'essaie de configurer mod_cluster en tant que proxy inverse pour Wildfly 9. Quand j'utilise http comme protocole (entre mod_cluster et Wildfly), tout fonctionne très bien (transfert des requêtes au serveur d'applications et détection du serveur). Mes problèmes surviennent lorsque j'essaie de câbler mod_cluster et wildfly en utilisant ajp comme protocole. J'ai vérifié mod_cluster-manager et il semblait que mod_cluster était connecté à wildfly, mais il ne pouvait pas transmettre requêtes au serveur d'applications.Connexion d'apache et Widfly en utilisant mod_cluster
I ont la configuration suivante:
- serveur http: Apache/4.2.18 (Ubuntu)
- serveur d'applications: wildfly 9.0.2
- mod_cluster: 1,3
mod_cluster .conf
PersistSlots on
CreateBalancers 1
MemManagerFile /opt/mod_cluster/logs
EnableOptions
AllowDisplay On
AllowCmd On
WaitForRemove 1
UseAlias 1
ServerAdvertise Off
Listen *:5555
<VirtualHost *:5555>
<Directory />
Order deny,allow
Allow from 192.168.0.71
Allow from 192.168.0.71
Allow from 127
Require all granted
</Directory>
<Location /mcm>
SetHandler mod_cluster-manager
Allow from 192.168
Allow from all
</Location>
KeepAliveTimeout 300
MaxKeepAliveRequests 0
ManagerBalancerName mycluster
#AdvertiseFrequency 5
EnableMCPMReceive
</VirtualHost>
<VirtualHost *:80>
ServerName my-app.org
ServerAlias my-app.org
ErrorLog /var/log/apache2/user.error.log
LogLevel warn
CustomLog /var/log/apache2/my_app.access.log combined
ServerSignature On
Redirect "/" https://my-app.org
ProxyPreserveHost On
SSLProxyEngine On
ProxyPreserveHost On
#ProxyPass /_error !
#ProxyPass/balancer://mycluster stickysession=JSESSIONID|jsessionid nofailover=on
#ProxyPassReverse/balancer://mycluster
<Location />
Order deny,allow
Allow from all
</Location>
</VirtualHost>
<VirtualHost *:443>
ServerName my-app.org
ServerAlias my-app.org
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
ErrorLog /var/log/apache2/user.ssl.error.log
LogLevel warn
CustomLog /var/log/apache2/my_app.ssl.access.log combined
ServerSignature On
SSLProxyEngine On
ProxyPreserveHost On
ProxyPass /_error !
ProxyPass/balancer://mycluster stickysession=JSESSIONID|jsessionid nofailover=on
ProxyPassReverse/balancer://mycluster
<Location />
Order deny,allow
Allow from all
</Location>
</VirtualHost>
wildfly Configuration (fragments pertinents):
sous-système de mod_cluster:
<subsystem xmlns="urn:jboss:domain:modcluster:2.0">
<mod-cluster-config advertise-socket="modcluster"
proxies="mc-prox1"
advertise="false"
sticky-session-force="true" load-balancing-group="mycluster" connector="ajp">
<dynamic-load-provider>
<load-metric type="cpu"/>
</dynamic-load-provider>
</mod-cluster-config>
</subsystem>
-douille de liaison sortante:
<outbound-socket-binding name="mc-prox1">
<remote-destination host="192.168.0.71" port="5555"/>
</outbound-socket-binding>
[EDIT]
j'ai inclus configuration AJP:
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:1500}">
<socket-binding name="ajp" port="${jboss.ajp.port:0}" />
.......
</socket-binding-group>
[EDIT2]
Lorsque je définis le port ajp sur 8009, cela fonctionne. Je veux utiliser le numéro de port personnalisé. Est-ce que quelqu'un a une idée de comment le faire?