L’aventure Kimsufi – intermède 11 – Chainage Apache – Nginx

Ainsi que je te l’ai raconté hier, Apache est installé, en fonctionnement et écoute sur le port 81 de notre boucle locale. Maintenant tu vas devoir créer les liens de communication entre les deux pour obtenir quelque chose de correct : souviens-toi :

Client : Bonjour, je voudrais la page « XXX »

Serveur NginxLeRapide : Ah eh, ApacheLeCommun, c’est pour toi, RÉFLEXE !

Serveur ApacheLeCommun : Merci, tiens, tu attrapes, tu peux lui rendre ça en retour

Serveur NginxLeRapide : ‘ci bro’ !

Cette architecture utilise les fonctions proxy et reverse proxy de Nginx. Tu verras que je l’utilise pour permettre de proposer des applications non compatibles avec Nginx ou en tout cas qui disent ne pas l’être et pour lesquelles je ne voulais pas me casser la tête. Mais dans le milieu des sites  à très grande audience, en cas d’afflux massif attendu, on peut rencontrer cette architecture pour créer une file d’attente. Korben en parle ici par exemple.

 Et en fait c’est extrêmement simple. Côté Apache, la seule configuration à faire est celle que tu aurais fait dans tous les cas pour publier une nouvelle web app.

La subtilité se trouve du côté de nginx. Il se trouve que sur internet, on trouve de nombreuses propositions différentes de configuration, mais que je n’ai jamais trouvé une qui réponde parfaitement au besoin. Celle que je te propose ci-dessous fonctionne vraiment bien sauf sur un point : un site qui redirige automatiquement vers le protocole https se retrouve affublé d’une définition de port 80 explicite dans l’adresse… par exemple : https://monsite.fr:80/… et évidemment, ça ne marche pas… ! Mais si on fait abstraction de ce léger bug, tout va pour le mieux.

Configuration de Nginx

Dans la configuration de la  location  tu devras rajouter les instructions suivantes :

Bien entendu, comme j’aime que ce soit factorisé et modulaire, j’ai créé un fichier /etc/nginx/includes/proxy-to-apache.conf contenant ces instructions et je l’appelle dans la section  location  par un simple :

Demain je te propose de mettre en pratique cette nouvelle possibilité en installant le simple phpmyadmin, puis de passer mercredi à l’installation de teampass.

 

Merci à Framasoft pour l’outil GéGé et à Gee de prêter ses personnages.

Merci à Framasoft pour l’outil GéGé et à Gee de prêter ses personnages.

Source :

Florck

Je suis Ingénieur en Technologies de l'Information, consultant en systèmes (GNU/Linux) et bases de données (Oracle). En recherche de contrôle sur mes informations personnelles : "La route est longue mais la voie est libre !"

1 réponse

  1. 5 février 2014

    […] L’aventure Kimsufi – intermède 11 – Chainage Apache – Nginx […]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *