Cette identification utilise la notion de ‘VirtualHost’ en combinaison avec la notion de ‘Proxy- Pass’. Ces notions sont implémentées dans les serveurs HTTP Apache, utilisés comme base de réalisation des FrontServers.
La fonctionnalité ‘VirtualHost’ permet d'associer plusieurs noms de serveur (hostname) à un seul serveur physique.
Un Virtual Host peut être identifié de plusieurs types d’associations :
- Association à une adresse IP et un nom de site DNS distinct
- Association à un nom de serveur alias DNS particulier, même adresse IP
- Association à un numéro de port particulier, même nom de serveur, même adresse IP
Ainsi, un serveur HTTP (Apache en l’occurrence), peut se présenter comme autant de serveurs virtuels distincts.
A chaque nom de ‘VirtualHost’ est associé un environnement logique (arborescence) différent, offrant une visibilité applicative différente à l'utilisateur.
Figure 131 : Description des VirtualHost
Cette possibilité permet d'étendre l'environnement du serveur Frontal à des serveurs Web distants, ou 'Remote Servers'. C’est cette fonction qui implémente le mécanisme Reverse- Proxy.
Chaque serveur distant est caractérisé par un 'pass' (chemin de répertoire) particulier du serveur Apache.
Ce chemin peut être vide (codé en "/"). Dans ce cas, c’est toute l’arborescence qui est déportée sur un serveur distant (à utiliser, dans ce cas, avec la notion de Virtual Host).
Par configuration de l’option ProxyPass sur le FrontServer, le site ou le chemin cité dans l'URL conduit le serveur à transmettre la demande à ce serveur distant au lieu de la traiter dans son propre environnement.
Par configuration de l’option associée ProxyPassReverse, l‘URL de re-routage issue du site Web cible et destinée au navigateur est traduite avant transmission.
Le FrontServer, utilisant la technologie Apache, réalise cette fonction par deux directives de son fichier de configuration.
- La directive ProxyPass ;
- La directive ProxyPassReverse.
Cette directive, spécifique FrontServer, permet de prefixer les URLs absolues contenues dans le document HTTP retourné au Browser. Les URLs absolues sont celles qui donnent le répertoire serveur à adresser, mais ne citent pas le nom du serveur.