Reverse Proxying

Nginx (à prononcer EngineX) est un serveur web qui est apparu après Apache2 afin de régler les problématiques de mémoire que l’on pouvait rencontrer sur Apache2.

Sur les Internet il existe une petite guerre entre Nginx et Apache2. Pour ma part j’utilise Apache2 en tant que serveur web et Nginx en tant que reverse proxy bien que les deux serveurs puissent faire la même chose.

Etant donné que les fichiers de configuration de Nginx sont quasiment identiques à ceux d’Apache2 je ne vais pas re-étailler comment créer des virtual host, implémenter le protocole TLS.

Non, aujourd’hui je vais juste vous montrer comment configurer un reverse proxy.

I/ Qu’est ce que c’est un reverse proxy ?

J’ai déjà écrit un article sur cette question, il est disponible ici donc je vous invite à le lire  !

II/ Mise en place d’un reverse proxy

Dans une directive location vous pouvez assez simplement créer des règle conditionnelles qui vous permettront de matcher un certain pattern. Par exemple avec la règle suivante :

if $request_uri ~* "/site1/" {
     proxy_pass https://site1.com/$args;
}

On redirigera toutes les requête ($request_uri) qui contiennent le mot clé « site1 » vers le site web https://site1.com/ sans oublier tous les arguments passés (arguments get, répertoires etc…) via la variable $get.

Voilà voilà j’ai pas grand chose de plus à dire. Ce mini article est plus à voir comme un pense bête au cas où. La documentation et et les threads sur StackOverflow sont amplement suffisants pour monter de très grosses architecture  !