Offloader le SSL d’Apache avec Nginx en reverse proxy

Dans cet article, nous allons voir comment décharger le traitement du SSL sur Apache. Les requêtes HTTPS seront traités en amont puis passées vers apache sur le port non SSL.

Le but est d’avoir un serveur Nginx en reverse Proxy qui se place devant apache, traite la partie SSL et renvoi le trafic vers le serveur web Apache (en non SSL). Cela permet de protéger Apache contre les pics de trafic, Nginx étant plus résistant sur ce point là et bénéficiant nativement de règles pour mettre en place des limites. Il est également possible d’ajouter du cache sur Nginx mais ça ne sera pas le sujet de cet article, on n’évoquera que la partie SSL / Offloading.

Déchargement SSL Nginx

Schéma de l’intrastructure pour décharger le SSL avec un reverse Proxy Nginx

Il y a quelques subtilités à connaitre pour faire cela sinon cela risque de générer des erreurs (400 Bad Request) et des boucles de redirections. Nous allons également voir pourquoi cela n’est pas totalement transparent.

Continuer la lecture