mod_proxy_express
Extension à mod_proxy pour le mandatement dynamique inverse de masse
Extension
mod_proxy_express.c
proxy_express_module

Ce module crée dynamiquement en masse des mandataires inverses en faisant correspondre l'en-tête Host: de la requête HTTP à un nom de serveur et une URL d'arrière-plan stockés dans un fichier DBM. Il est ainsi plus aisé d'utiliser un grand nombre de mandataires inverses sans avoir à modifier la configuration. Il est loin de posséder autant de fonctionnalités que mod_proxy_balancer, qui propose aussi la croissance dynamique, mais il est conçu pour gérer un nombre beaucoup plus important de serveurs d'arrière-plan. Il convient parfaitement pour créer un commutateur HTTP frontal et pour les architectures Microservices.

Pour pouvoir être utilisé, ce module nécessite le chargement de mod_proxy.

# Avertissement

N'activez le mandatement que si vous avez sécurisé votre serveur. Les serveurs mandataires ouverts sont dangereux pour votre réseau, et dans une plus large mesure pour Internet.

# Limitations

- Ce module n'est pas conçu pour remplacer les fonctionnalités dynamiques de mod_proxy_balancer. Par contre, il peut constituer une alternative légère et rapide à mod_rewrite lorsque ce dernier utilise la directive RewriteMap et le drapeau `[P]` pour le mandatement inverse à partir d'une table de correspondances.
- Il ne supporte pas les mises en correspondance basées sur les expressions rationnelles ou les modèles.
- Il émule : <VirtualHost *:80> ServerName front.end.server ProxyPass "/" "back.end.server:port" ProxyPassReverse "/" "back.end.server:port" </VirtualHost> En d'autres termes, l'URL dans son ensemble est ajoutée à l'URL d'arrière-plan correspondante, tout ceci dans le but de proposer un commutateur mandataire inverse simple mais rapide.

mod_proxy
BalancerMember
BalancerGrowth
BalancerPersist
BalancerInherit
ProxyExpressEnable
Active la fonctionnalité du module.
ProxyExpressEnable [on|off]
off
server config
virtual host
Disponible à partir de la version 2.3.13 d'Apache

La directive ProxyExpressEnable permet d'activer/désactiver le module.

ProxyExpressDBMFile
Chemin du fichier DBM.
ProxyExpressDBMFile <chemin>
None
server config
virtual host
Disponible à partir de la version 2.3.13 d'Apache

La directive ProxyExpressDBMFile permet de définir le chemin du fichier DBM de correspondance Express. Ce fichier permet de faire correspondre le nom de serveur extrait de l'en-tête Host: de la requête entrante avec une URL d'arrière-plan.

# Note

Ce fichier est élaboré à partir d'un fichier texte à l'aide de l'utilitaire `httxt2dbm`.

# Fichier de correspondances ProxyExpress

##
##express-map.txt:
##
www1.example.com http://192.168.211.2:8080
www2.example.com http://192.168.211.12:8088
www3.example.com http://192.168.212.10

# Création du fichier DBM

httxt2dbm -i express-map.txt -o emap

# Configuration

ProxyExpressEnable on
ProxyExpressDBMFile emap
ProxyExpressDBMType
Type de fichier DBM.
ProxyExpressDBMFile <type>
"default"
server config
virtual host
Disponible à partir de la version 2.3.13 d'Apache

La directive ProxyExpressDBMType permet de définir le type de fichier DBM requis par le module. La valeur par défaut correspond au type DBM par défaut du fichier créé par l'utilitaire `httxt2dbm`.

Les valeurs possibles sont (mais toutes ne seront pas disponibles à l'exécution) :

Value | Description
--- | ---
`db` | Fichiers Berkeley DB
`gdbm` | Fichiers GDBM
`ndbm` | Fichiers NDBM
`sdbm` | Fichiers SDBM (toujours disponible)
`default` | type DBM par défaut