Reverse proxy - Nginx

undraw_server_status_-5-pbv

Nginx est un serveur web, comme apache. Il est souvent utilisé pour son efficacité et sa faible consommation de ressource. Il permet essentiellement de:
  • faire de l'équilibrage de charge
  • interprété le code à l'aide de fastcgi, permettant par exemple l'utilisation de script python
  • configurer des websockets
  • faire du reverse proxy, ce qui nous intéresse principalement ici !


Installation de nginx

Nginx est assez facile à installer, l'ensemble de distribution le possède dans leurs repository. En soit selon la distribution linux, il vous suffira de lancer votre commande préféré:

yum install nginx
apt install nginx
brew install nginx


Configurer un reverse proxy

Afin de mettre en place un reverse proxy sous nginx, il suffit d'éditer le fichier nginx.conf.

vi /etc/nginx/nginx.conf

Ensuite, repérer la partie server {}. Il ne vous reste plus qu'a déclarer le port d'écoute, le domaine qui répondra, ainsi que le service web à afficher.

     server {
            listen 80;
            listen arnaudallouche.fr:80;

            access_log /var/log/nginx/reverse-access_arnaudallouche.fr.log;
            error_log /var/log/nginx/reverse-error_arnaudallouche.fr.log;

            location / {
                        proxy_pass http://localhost:9999;
            }
     }
    

Le résultat de cette configuration, est toute simple:

  • Lorsque une requête entre sur le port 80
  • Depuis le nom de domaine arnaudallouche.fr
  • Le context vide "/" enverra la requête à http://localhost:9999