Onglet Reverse proxy : Configuration du proxy inverse

EOLE propose un serveur proxy inverse (reverse proxy) basé sur le logiciel libre Nginx[1].

Le proxy inverse est un type de serveur proxy, habituellement placé en frontal de serveurs web, qui permet de relayer des requêtes web provenant de l'extérieur vers les serveurs internes (situés en DMZ[2] par exemple). Cela le différencie grandement d'un proxy classique comme Squid[3].

Concrètement, le proxy inverse permet d'ouvrir des services web installés sur des serveurs situées "derrière" le pare-feu l'accès sur Internet sans avoir recours à des règles iptables[4]/DNAT.

Diagramme d'un proxy inverse - Licence CC0
Diagramme d'un proxy inverse - Licence CC0

Le proxy inverse EOLE peut relayer des requêtes vers les services suivants : 

  • serveur EoleSSO ;

  • outil d'administration EAD[5] ;

Avant toute chose, le proxy inverse doit être activé dans l'onglet Services en passant Activer le reverse proxy Nginx à oui.

L'activation du service fait apparaître un nouvel onglet.

Vue de l'onglet Reverse proxy de l'interface de configuration du module
Vue de l'onglet Reverse proxy de l'interface de configuration du module

Redirection de services particuliers

Pour rediriger le service EoleSSO (port 8443) il faut indiquer l'adresse IP ou le nom de domaine interne de la machine de destination (adresse IP ou le nom de domaine interne du module Scribe). Si le service EoleSSO est activé localement il est impossible de réaliser une redirection pour ce service.

Attention

Le service SSO local du module Amon ne devra pas être activé si vous renseignez l'adresse d'un service SSO distant au niveau du proxy inverse.

Redirection HTTP et HTTPS

Pour rediriger HTTP et HTTPS il est nécessaire de passer la variable Activer le reverse proxy Nginx pour le http/https à oui et de renseigner plus d'informations :

  • le Nom de domaine ou IP à rediriger : le nom de domaine diffusé auprès des utilisateurs. Ce nom de domaine est celui qui permet d'accéder au module Amon ou AmonEcole ;

  • le Répertoire ou nom de la page à rediriger permet de rediriger un sous-répertoire vers une machine. La valeur par défaut est / ;

  • l'IP ou domaine de destination (avec http:// ou https://) ou URI complète permet de saisir l'adresse IP (exemple : http://192.168.10.1), le nom de domaine (exemple : http://scribe.monetab.fr) ou l'URI[7] (exemple : http://scribe.monetab.fr/webmail/) du serveur de destination hébergeant la ou les applications.

Il est possible de forcer l'utilisation du protocole HTTPS pour les requêtes utilisant le protocole HTTP de façon transparente. De cette manière, un utilisateur web se connectant à l'adresse http://monetab.fr sera automatiquement redirigé vers https://monetab.fr

Ainsi les communications sont automatiquement chiffrées protégeant la transmission de données sensibles (nom d'utilisateur, mot de passe, etc.).

Le proxy inverse peut être utilisé pour ne rediriger que le HTTPS en passant les valeurs Reverse proxy HTTP à non et Reverse proxy HTTPS à oui.

Il est possible d'ajouter plusieurs redirections en cliquant sur le bouton Nom de domaine ou IP à rediriger.

Truc & astuce

Un répertoire déterminé peut également être redirigé vers un serveur différent. Par exemple le lien vers l'application Pronote[8], https://monetab.fr/pronote/ peut être redirigé vers http://pronote.monetab.fr/ (attention, le "/" final est important, puisqu'il faut rediriger à la racine du serveur de destination).