Configurer un Reverse Proxy Nginx

Un Reverse Proxy, en français Proxy Inverse, permet à un utilisateur d'accéder à des services (serveurs) internes au serveur. Les applications courantes du Reverse Proxy sont la répartition de charge (load-balancing), la mise en cache, chiffrement SSL, compression. L'utilisateur passe par l'intermédiaire de celui-ci pour accéder au serveurs internes.

Le schema ci-dessous montre comment fonctionne un Reverse Proxy (wiki).


L'utilisateur accède au proxy via le port 80. Puis ce dernier vous "redirige" vers le port du service demandé.
Vous devez configurer un Reverse Proxy Nginx pour accéder à vos serveurs comme NodeJS ou Plex ... Bref, voilà comment ajouter un virtual host qui fait le taf :
On va modifier la conf de Nginx (n'oubliez pas de sudo si vous n'êtes pas en root).

[email protected]:~# nano /etc/nginx/sites-available/default

Vous pouvez maintenant ajouter la configuration ci-dessous en bas du fichier :

server {
    listen 80;
    server_name sous.domaine.xyz;
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass        
http://127.0.0.1:PORT;
    }
}

À vous de modifier ce qu'il y a en rouge par vos infos. Bien sur, auparavant vous aurez créer votre nouvelle entrée DNS si besoin.

Pour finir vous n'avez plus qu'à redémarer Nginx :

[email protected]:~# systemctl restart nginx

Pour info, si aucun message n'apparait c'est que tout est ok. Sinon c'est qu'il y a une erreur dans votre configuration.
Vous pouvez maintenant accéder à votre service via sous.domaine.xyz au lieu de domaine.xyz:PORT !

Merci d'avoir suivi cet article jusqu'au bout ! ❤️


Commentaires