Mod proxy ajp
| Fiche express | |
|---|---|
| Domaine | Répartition de charge / reverse proxy Apache |
| Module | mod_proxy_ajp (+ mod_proxy, mod_proxy_balancer)
|
| Protocole | AJP (Apache JServ Protocol), port 8009 par défaut |
| Voir aussi | ZXTM |
mod_proxy_ajp est le module Apache HTTPD qui permet de faire transiter les requêtes vers un ou plusieurs serveurs Tomcat via le protocole AJP (Apache JServ Protocol), plutôt qu'en HTTP classique. AJP est un protocole binaire orienté paquets, plus efficace que HTTP pour la communication entre Apache et un conteneur Java (Tomcat, Jetty), et conçu pour préserver les informations de la requête d'origine (IP client, en-têtes) lors du passage par le proxy.
Configuration type
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
<Proxy balancer://tomcat-cluster>
BalancerMember ajp://app1.exemple.local:8009
BalancerMember ajp://app2.exemple.local:8009
</Proxy>
ProxyPass /app balancer://tomcat-cluster/app
ProxyPassReverse /app balancer://tomcat-cluster/app
À savoir
AJP reste utile quand le backend est spécifiquement Tomcat/Jetty et qu'on veut éviter la
double conversion HTTP↔AJP↔HTTP. Cela dit, pour la plupart des usages actuels, un simple
mod_proxy_http (reverse proxy HTTP standard, HTTP/1.1 voire HTTP/2) ou un
répartiteur dédié (Nginx, HAProxy) est plus simple à opérer et suffit largement — AJP a surtout
un intérêt historique là où Tomcat est intégré derrière un frontal Apache existant.
Voir aussi
- ZXTM — répartiteur de charge logiciel dédié (alternative à un reverse proxy Apache)