Vous savez normalement ce qu'est un proxy (sinon rendez vous ici) mais ici on va voir l'inverse. Au lieu de d'arriver de plusieurs points pour être renvoyés vers un point unique avec un reverse proxy vous arrivez d'un point et vous êtes renvoyés vers plusieurs hôtes.

Plus précisément dans un contexte d'auto hébergement le reverse proxy va vous permettre d'héberger autant de services que vous voulez sur autant de machines que vous voulez sur une seule adresse IP publique. C'est le proxy qui va décider en fonction de l'url que le visiteur veut joindre vers quel service il va le rediriger. Par exemple on peut envisager que si vos utilisateurs arrivent sur monblog.tld il seront redirigés sur le serveur web situé à l'adresse 192.168.1.X mais s'ils tapent mesfichiers.tld il seront redirigés vers le serveur qui gère le cloud.

Un schéma vaut mieux que des mots voici ce que ça donne:

C'est donc le proxy qui interroge les différents serveurs à la place de l'utilisateur si l'on peut dire.

Il est possible de faire du reverse proxy avec la plupart des serveurs Web du marché cependant les plus populaires sont Traefik et Nginx mais rien ne vous empêche d'utiliser Apache ou Caddy.

Je pense que je vais détailler dans de prochains articles comment j'utilise Docker pour héberger mes services donc je montrerais des exemples d'utilisation d'un reverse proxy Nginx.

Miniature: Illustration by Freepik Storyset