Présentation

Nginx est un serveur web léger très connu pour sa façon particulière et rapide de traiter les requêtes comme d’un reverse proxy.

Installation

Sous Ubuntu il suffit de faire:

sudo apt-get install nginx

Pour avoir plus de modules intégrés à nginx, il existe le paquet nginx-extras. On peut voir ce qu’il contient avec la commande suivante :

apt-cache show nginx-extras

Permettre à chaque utilisateur d’avoir un dossier public (équivalent du module userdir d’Apache)

Il suffit dajouter dans une balise server les lignes suivantes :

location ~ ^/~(.+?)(/.*)?$ {
  alias /home/$1/public_html$2;
  index  index.html index.htm;
  autoindex on;

Équivalent des Alias d’Apache

Il suffit d’ajouter dans une balise server le code suivant :

location /mon_alias {
  alias /chemin/vers/fichiers/pour/mon/alias/;
  autoindex on;
}

Faire une redirection vers un autre serveur

Généralement on ajoute proxy_pass dans une définition de location, cela ressemble à ceci :

location / {
proxy_pass http://192.168.0.11:3000;
proxy_set_header Host            $host;
proxy_set_header X-Real-IP       $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

192.168.0.11 est l’IP que je souhaite rejoindre. 3000 est le port utilisé du service distant. Le reste permet de s’occuper des entêtes.