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 !
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
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: