Comment configurer Nginx Inverse Proxy un tutoriel étape par étape

Comment configurer Nginx Inverse Proxy un tutoriel étape par étape

Un proxy inversé est un type de serveur qui se trouve entre un client et un serveur, agissant comme un intermédiaire entre les deux. Il accepte les demandes des clients, transmet ces demandes au serveur approprié, puis renvoie la réponse du serveur au client.

Les proxys inversés sont souvent utilisés pour améliorer les performances et la sécurité des serveurs Web et pour permettre à plusieurs serveurs d'apparaître comme un seul serveur aux clients. Par exemple, un proxy inversé peut être utilisé pour distribuer des demandes entrantes à plusieurs serveurs, pour mettre en cache du contenu statique pour améliorer les performances ou pour crypter et décrypter le trafic à des fins de sécurité.

Un logiciel populaire pour configurer un proxy inversé est Nginx (prononcé "Engine X"). Dans cet article, nous discuterons de la façon de configurer un proxy inversé avec Nginx en utilisant un exemple.

Étape 1: Installer Nginx

La première étape consiste à installer nginx sur votre serveur. Cela peut généralement être fait en utilisant le gestionnaire de packages de votre système d'exploitation (E.g. APT-Get sur les systèmes basés à Debian, DNF sur les systèmes basés sur Red Hat).

Sudo Apt Update && sudo apt install nginx  
sudo dnf installer nginx  

Étape 2: Configurer l'application backend

Une application backend devrait écouter sur un autre port. Par exemple, j'ai créé un exemple de nœud.Application JS qui sert des demandes entrantes à l'aide du module Node Express. Cette application écoute le localhost et le port 3000.

serveur de nœuds.js 
Debugger de sortie écoute sur le serveur du port 5858 en cours d'exécution sur http: // 127.0.0.1: 3000 / 

Étape 3: Configurez le bloc de serveur Nginx

Nginx utilise des blocs de serveur pour configurer les sites Web individuels. Nous devons créer un nouveau fichier de configuration de bloc de serveur pour notre proxy inversé.

sudo nano / etc / nginx / confue.d / pro-inverse.confli  

Ajoutez la configuration suivante au fichier de configuration du bloc serveur:

Server écouter 80; Exemple de nom.com; emplacement / proxy_pass http: // 127.0.0.1: 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;
1234567891011Server écouter 80; Exemple de nom.com; emplacement / proxy_pass http: // 127.0.0.1: 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;

Dans le fichier de configuration ci-dessus:

  • Écoutez 80; Définit le port sur lequel Nginx écoutera les connexions entrantes.
  • Exemple de nom.com; est le nom de domaine qui sera utilisé pour accéder au proxy inversé.
  • proxy_pass http: // backend-server; dit à Nginx de transférer les demandes entrantes au serveur backend spécifié.
  • proxy_set_header host $ host; et proxy_set_header x-real-ip $ Remote_addr; et proxy_set_header x-Forwarded-for $ proxy_add_x_forwarded_for; sont utilisés pour définir des en-têtes que le serveur backend peut utiliser pour identifier le client d'origine.

Étape 4: Redémarrez Nginx

Avant de redémarrer le service Nginx, testez les fichiers de configuration à l'aide de la commande suivante:

sudo nginx -t  

Si le test de configuration est réussi, redémarrez Nginx pour appliquer les modifications:

sudo systemctl redémarrer nginx  

Remarque: Ceci est un exemple de base et en réalité, vous devrez peut-être configurer d'autres paramètres tels que SSL, mise en cache et sécurité. Vous devrez peut-être également configurer Nginx pour gérer différents types de demandes, tels que la gestion des coquets Web ou la service de fichiers statiques. De plus, il est également important de considérer les performances et l'évolutivité de votre proxy inverse Nginx, surtout si vous vous attendez à un volume élevé de trafic.

Pour sécuriser votre proxy inversé, vous pouvez utiliser des certificats SSL. Vous pouvez utiliser Let's Encrypt pour obtenir un certificat SSL gratuit. Une fois que vous avez le certificat, vous pouvez configurer Nginx pour l'utiliser.

Pour la mise en cache, vous pouvez utiliser les directives proxy_cache_path et proxy_cache_bypass pour configurer la mise en cache pour votre proxy inversé.

Conclusion

En conclusion, Nginx Reverse Proxy peut être un outil puissant pour gérer plusieurs serveurs Web et améliorer les performances et la sécurité de vos applications Web. J'espère que ce tutoriel vous a fourni un bon point de départ pour configurer votre propre proxy inverse Nginx.