Configuration du proxy inversé Nginx devant Apache

Configuration du proxy inversé Nginx devant Apache

Dans un site Web à fort trafic, il est essentiel de s'assurer que le serveur Web peut gérer un grand nombre de demandes sans provoquer une surcharge de serveur ou de mauvaises performances. Une façon d'y parvenir est en utilisant un serveur proxy inversé devant le serveur Web. Un serveur proxy inversé, tel que Nginx, peut répondre aux demandes des clients et les transmettre au serveur Web, décharger une partie du travail et améliorer les performances.

Dans cet article, nous discuterons de la façon de configurer Nginx en tant que proxy inverse devant Apache pour optimiser les sites Web à haut trafic.

Étape 1: Installation de Nginx

La première étape de la configuration de Nginx en tant que proxy inverse consiste à l'installer sur votre serveur. Vous pouvez installer Nginx en utilisant le gestionnaire de package APT sur Ubuntu en exécutant la commande suivante:

Sudo Apt Update && apt install nginx  

Une fois l'installation terminée, vous pouvez démarrer le service Nginx en exécutant la commande suivante:

sudo systemctl redémarrer nginx.service  

Étape 2: Configuration de Nginx comme proxy inverse

Après avoir installé Nginx, vous devez le configurer comme un proxy inversé. Vous pouvez le faire en créant un nouveau fichier de configuration dans le / etc / nginx / confre.d/ annuaire. Par exemple, vous pouvez créer un nouveau fichier appelé pro-proxy inversé.confli:

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

Ajouter la configuration suivante:

Server écouter 80; Exemple de nom.com; emplacement / proxy_pass http: // 127.0.0.1: 8080; proxy_set_header host $ host; proxy_set_header x-real-ip $ Remote_addr; proxy_set_header x-Forwarded-for $ proxy_add_x_forwarded_for;
12345678910Server écouter 80; Exemple de nom.com; emplacement / proxy_pass http: // 127.0.0.1: 8080; proxy_set_header host $ host; proxy_set_header x-real-ip $ Remote_addr; proxy_set_header x-Forwarded-for $ proxy_add_x_forwarded_for;

Cette configuration indique à Nginx d'écouter sur le port 80 et de requier des demandes au serveur Apache en cours d'exécution sur le port 8080. Le proxy_set_header Les directives sont utilisées pour transmettre l'hôte, l'adresse IP et d'autres informations du client vers le serveur Apache.

Étape 3: Configuration d'Apache

Après avoir configuré Nginx en tant que proxy inverse, vous devez configurer Apache pour travailler avec lui. Apache s'exécutera en tant que serveur Web backend sur un port non standard. Vous pouvez le faire en modifiant le fichier de configuration Apache, situé à / etc / apache2 / ports.confli, et ajoutant les lignes suivantes:

Écoutez 8080
1Écoutez 8080

Remplacer 80 par le nouveau port 8080. Cela indique à Apache d'écouter sur le port 8080 et d'accepter les demandes de toute adresse IP. Après cela, liez la configuration de l'hôte virtuel avec ce port.

Exemple de nom de serveur.com serveradmin webmaster @ exemple.com documentroot / var / www / allowoverride tous les errorlog / var / log / apache2 / error_log customlog / var / log / apache2 / access_log combinés
12345678910 Exemple de nom de serveur.com serveradmin webmaster @ exemple.com documentroot / var / www / Allaiter tout ErrorLog / var / log / apache2 / error_log customlog / var / log / apache2 / access_log combiné

Dans le cas, 8080 est déjà utilisé par un autre service, choisissez n'importe quel autre port et mettez à jour le bloc de serveur Nginx en conséquence.

Étape 4: activer mod_rpaf

Lorsque vous vérifiez les fichiers journaux Apache, vous obtiendrez votre adresse IP car les demandes sont des proxys du serveur local. Afin d'identifier correctement les adresses IP des clients faisant des demandes, vous devez activer le module MOD_RPAF dans Apache. Ce module permet à Apache d'interpréter correctement le X-REAL-IP et X-Forwarded-For En-têtes réglées par Nginx.

Pour installer et activer mod_rpaf, Exécutez les commandes suivantes:

 sudo apt-get install libapache2-mod-rpaf 

La commande ci-dessus permettra également le module.

Étape 5: Tester la configuration

Après avoir configuré Nginx et Apache redémarrer les deux services pour appliquer les modifications.

sudo systemctl redémarrer nginx.service  sudo systemctl redémarrer apache2.service  

Après les services de restitution, vous devez tester la configuration pour vous assurer que tout fonctionne correctement. Vous pouvez le faire en accédant à votre site Web à l'aide d'un navigateur Web et en vérifiant que le contenu s'affiche correctement. Vous pouvez également vérifier les journaux de Nginx et Apache pour vous assurer qu'il n'y a pas d'erreurs ou de problèmes.

Conclusion

En conclusion, la configuration de Nginx en tant que proxy inverse devant Apache peut considérablement améliorer les performances et l'évolutivité des sites Web à haut trafic. En déchargeant une partie des travaux du serveur Web vers le serveur proxy inversé, vous pouvez réduire le risque de surcharge du serveur et améliorer l'expérience utilisateur globale. En suivant les étapes décrites dans cet article, vous pouvez installer et configurer Nginx et Apache pour travailler ensemble en tant que proxy inverse et optimiser votre site Web à haute trafic. Il est important de surveiller régulièrement les performances de votre serveur et d'ajuster vos configurations si nécessaire pour garantir des performances et une stabilité optimales.