Création du fichier de configuration pour un Reverse Proxy Apache

De Wiki de Mémoire Vive
Révision datée du 1 mai 2023 à 17:05 par Dominique (discussion | contributions) (Page créée avec « Sources : https://www.ionos.fr/digitalguide/serveur/know-how/quest-ce-quun-reverse-proxy-le-serveur-reverse-proxy/ Pour que le reverse-proxy accepte les requêtes d’Internet et les transmettent aux serveurs appropriés sur le réseau local, vous avez besoin de désactiver le fichier de configuration par défaut avec la commande '''a2dissite configuration 000-default.conf''' il se trouve dans le répertoire '''/etc/apache2/sites-available''' et de la remplacer... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Sources : https://www.ionos.fr/digitalguide/serveur/know-how/quest-ce-quun-reverse-proxy-le-serveur-reverse-proxy/

Pour que le reverse-proxy accepte les requêtes d’Internet et les transmettent aux serveurs appropriés sur le réseau local, vous avez besoin de désactiver le fichier de configuration par défaut avec la commande a2dissite configuration 000-default.conf il se trouve dans le répertoire /etc/apache2/sites-available et de la remplacer par un fichier hôte virtuel comme piwigo.conf. Il est conseillé de créer un fichier hôte virtuel séparé pour chaque serveur cible avec sa propre adresse IP.

Exemple avec le fichier piwigo.conf :

<VirtualHost *:80> 
ServerName piwigo.memoirevive79.mooo.com 
ProxyPreserveHost On 
ProxyRequests On 
ProxyPass / http://192.168.2.6/ 
ProxyPassReverse / http://192.168.2.6 
</VirtualHost>

Les instructions pour la fonction proxy sont définies dans la commande <VirtualHost>. La balise Start contient également l’adresse IP et le numéro de port. Apache s’il est configuré comme un serveur reverse-proxy doit recevoir les requêtes. Si toutes les adresses IP sont incluses, le métacaractère * est utilisé comme le montre l’exemple. Les informations de la balise VirtualHost sont donc affichées sous la forme de commande. Contrairement À la balise VirtualHost, ces arguments définissent comment traiter les requêtes entrantes et les paquets de réponse. Les commandes ServerName, ProxyPass et ReversePass sont particulièrement importantes.

ServerName : la commande ServerName définit le nom premier d’un serveur sur internet. Il doit être résolu soit via DNS ou via /etc/hosts. Dans cet exemple, le serveur Apache est programmé pour accepter toutes les requêtes de piwigo.memoirevive79.mooo.com.

ProxyPass : la commande ProxyPass définit l’adresse cible pour une redirection. Toutes les requêtes qui sont destinées à une adresse publique sont transférer par le reverse-proxy à l’adresse interne spécifiée dans le ProxyPass. Dans l’exemple, cela serait l’adresse IP 192.168.2.6.

ProxyPassReverse : un serveur proxy ne reçoit pas seulement des requêtes, il peut aussi transférer des paquets de réponse des serveurs d’arrière-plan aux clients. Pour éviter que ces réponses (à savoir ceux du serveur en arrière-plan) contiennent un en-tête d’information incorrect, la commande ProxyPassReverse réécrit l’en-tête des réponses du serveur pour qu’elles puissent être en accord avec le serveur proxy. Le serveur d’arrière-plan reste donc anonyme.

De plus, il existe aussi deux commandes supplémentaires : ServerAlias et ProxyRequests. Ces commandes ne représentent pas des fonctions de base pour le serveur proxy et sont donc plutôt facultatives.

• ServerAlias : la commande ServerAlias autorise à définir un nom différent pour le serveur cible en complément du nom premier du serveur.

• ProxyRequest : la commande ProxyRequests avec l’argument Off empêche le serveur Apache HTTTP d’être utilisé comme un proxy-forward afin d’éviter d’éventuels abus.