GNU/Linux >> Tutoriels Linux >  >> Linux

Proxy inverse avec Nginx :un guide de configuration étape par étape

Ce didacticiel étape par étape vous montrera comment configurer facilement un proxy inverse avec Nginx pour améliorer la sécurité et les performances.

L'un des outils de proxy inverse les plus populaires en ce moment est Nginx. Bien que Nginx soit lui-même un serveur Web, il fait un travail remarquable en tant que proxy inverse.

Qu'est-ce qu'un proxy inverse ?

Un proxy inverse est un serveur situé entre les applications internes et les clients externes, transmettant les demandes des clients au serveur approprié.

Le service de proxy inverse agit comme un serveur frontal, gère toutes les demandes entrantes des clients et les distribue au serveur Web principal, à la base de données ou à d'autres serveurs.

L'utilisation de Nginx comme proxy inverse vous offre plusieurs avantages supplémentaires :

  • Équilibrage de charge – Nginx peut effectuer un équilibrage de charge pour répartir les demandes des clients sur des serveurs proxy, améliorant ainsi les performances, l'évolutivité et la fiabilité.
  • Sécurité améliorée – Avec un proxy inverse, les clients n'auront pas d'informations sur nos serveurs principaux, il est donc impossible qu'un client malveillant ne puisse pas y accéder directement pour exploiter les vulnérabilités. Du point de vue du client, cela donne l'impression que tout vient d'un seul endroit.
  • Meilleures performances – Avec Nginx comme proxy inverse, vous pouvez mettre en cache les versions pré-rendues des pages pour accélérer les temps de chargement des pages. Il fonctionne en mettant en cache le contenu reçu des réponses des serveurs proxy et en l'utilisant pour répondre aux clients sans contacter le serveur proxy pour le même contenu à chaque fois.
  • Résiliation SSL – Nginx peut agir comme point de terminaison SSL pour les connexions avec les clients. Il gérera et déchiffrera les connexions SSL entrantes et chiffrera les réponses du serveur mandataire.

Comment Configurer un proxy inverse avec Nginx

1. Installation de Nginx

Nginx est la suite de serveurs Web la plus populaire déployée sur Internet. Il peut fonctionner comme un serveur proxy inverse en dirigeant le trafic Web vers des serveurs spécifiques.

Laissez-moi vous montrer comment installer Nginx sur différentes distributions Linux.

Pour installer Nginx sur Debian, Ubuntu, Linux Mint, Kali et d'autres dérivés de Debian ou Ubuntu, exécutez les commandes suivantes :

sudo apt update
sudo apt install nginx

Sur Fedora, CentOS, Red Hat et d'autres dérivés Fedora ou Red Hat, exécutez les commandes suivantes :

sudo dnf upgrade
sudo dnf install nginx

Pour installer Nginx sur Arch Linux, Manjaro et d'autres dérivés d'Arch, exécutez les commandes suivantes :

sudo pacman -Syu
sudo pacman -S nginx

Une fois l'installation terminée, vous pouvez vérifier que Nginx est correctement installé en vérifiant la version du logiciel. Saisissez ce qui suit :

nginx -v
nginx version: nginx/1.18.0 (Ubuntu)

2. Configuration de Nginx

Nous avons installé le site principal sur example.com nom de domaine sur le même serveur qui exécute notre Nginx. Cependant, notre site de blog WordPress est installé sur blog.example.com sous-domaine sur un serveur différent avec l'adresse IP 127.0.1.10 .

Nous devons configurer un proxy inverse avec Nginx pour les demandes de proxy pour le blog.example.com sous-domaine afin que toutes les requêtes soient transmises à 127.0.1.10 . Pour ce faire, suivez les étapes ci-dessous.

1. Désactivez l'hôte virtuel Nginx préconfiguré par défaut :

unlink /etc/nginx/sites-enabled/default

2. Entrez dans le répertoire /etc/nginx/sites-available et créez un fichier de configuration de proxy inverse.

cd /etc/nginx/sites-available
sudo vim example.conf

Collez la configuration Nginx suivante.

server {
        listen 80;
        server_name example.com www.example.com;

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }
}

server {
        listen 80;
        server_name blog.example.com;

        location / {
                proxy_pass http://127.0.1.10:80;
        }
}

Comme vous pouvez le constater, vous pouvez continuer à exécuter example.com sur la même instance Nginx, mais Nginx redirigera toutes les connexions entrantes pour blog.example.com sur le port 80 au 127.0.1.10 serveur, en écoute sur le port 80 .

3. Enregistrez le fichier puis activez-le en créant un lien symbolique :

sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/

4. Testez Nginx pour toute erreur de configuration :

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

5. S'il n'y a pas d'erreurs, redémarrez Nginx pour que les modifications prennent effet :

sudo systemctl restart nginx

Lancez un navigateur Web et accédez à l'URL de votre blog WordPress. Vous serez redirigé via Nginx vers 127.0.1.10 , hébergeant votre blog WordPress.

Félicitations, vous avez configuré avec succès Nginx pour qu'il fonctionne comme proxy inverse. Vous pouvez maintenant diriger le trafic censé aller vers le serveur cible vers le serveur proxy inverse, qui se retrouvera à la bonne destination.

Vous pouvez en savoir plus sur toutes les directives de proxy inverse dans l'index détaillé des directives de Nginx.

Conclusion

Vous savez maintenant comment configurer un proxy inverse avec Nginx. Comme vous pouvez le constater, la configuration du proxy inverse Nginx est un processus simple. Mais, bien sûr, il existe de nombreuses façons de l'installer et de le configurer, qui dépendent entièrement de vos besoins.


Linux
  1. Configurer Nginx en tant que proxy inverse sur Ubuntu 20.04 - Guide étape par étape ?

  2. Configurer WSO2 avec le proxy inverse NGINX pour les URL personnalisées

  3. Comment installer Odoo 11 sur CentOS 7 avec Nginx comme proxy inverse

  4. Comment installer Odoo sur CentOS 8 avec Nginx en tant que proxy inverse

  5. Comment installer Odoo 14 sur CentOS 8 avec Nginx en tant que proxy inverse

Comment installer GlassFish avec Nginx en tant que proxy inverse sur Debian 10

Comment installer WildFly avec Nginx en tant que proxy inverse sur Debian 10

Comment configurer Nginx en tant que proxy inverse pour Apache sur Debian 11

Comment configurer le proxy inverse Nginx

Comment configurer Nginx en tant que proxy inverse pour Apache sur Ubuntu 18.04 VPS

Comment configurer Tomcat avec Nginx en tant que proxy inverse sur Ubuntu 18.04