Serveur HTTP Apache Version 2.4

Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

# Module Apache mod_proxy_express

Description: | Extension à `mod_proxy` pour le mandatement dynamique inverse de masse
Statut: | Extension
Identificateur de Module: | proxy_express_module
Fichier Source: | mod_proxy_express.c
Compatibilité: | Disponible à partir de la version 2.3.13 du serveur HTTP Apache

### Sommaire

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.

### Directives

### Traitement des bugs

- Journal des modifications de httpd
- Problèmes connus
- Signaler un bug

### Voir aussi

- `mod_proxy`
- `BalancerMember`
- `BalancerGrowth`
- `BalancerPersist`
- `BalancerInherit`

## Directive ProxyExpressDBMFile

Description: | Chemin du fichier DBM.
Syntaxe: | `ProxyExpressDBMFile pathname`
Contexte: | configuration globale, serveur virtuel
Statut: | Extension
Module: | mod_proxy_express

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

## Directive ProxyExpressDBMType

Description: | Type de fichier DBM.
Syntaxe: | `ProxyExpressDBMType type`
Défaut: | `ProxyExpressDBMType default`
Contexte: | configuration globale, serveur virtuel
Statut: | Extension
Module: | mod_proxy_express

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

## Directive ProxyExpressEnable

Description: | Active la fonctionnalité du module.
Syntaxe: | `ProxyExpressEnable on|off`
Défaut: | `ProxyExpressEnable off`
Contexte: | configuration globale, serveur virtuel
Statut: | Extension
Module: | mod_proxy_express

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