Apache2 en mode Proxy Reverse

Le mode Proxy reverse d’apache permet avec une adresse IP d’entrée externe unique d’accéder à plusieurs autres serveurs locaux.
Dans ce tuto je considère que vous avez un serveur apache déjà configuré.

Voici un bref schéma qui vous expliquera en quoi consiste le mod proxy reverse d’Apache :

Cliquer pour agrandir…

Pour commencer activer les modules nécessaires via le shell :

a2enmod proxy
a2enmod proxy_http
a2enmod proxy_connect
a2enmod headers

Ensuite éditer le fichier /etc/apache2/mods-enabled/proxy.conf afin d’autoriser les requêtes à passer en modifiant “Deny from all” par “Allow from all” :

<IfModule mod_proxy.c>
        #turning ProxyRequests on and allowing proxying from all may allow
        #spammers to use your proxy to send email.

        ProxyRequests Off

        <Proxy *>
                AddDefaultCharset off
                Order deny,allow
                Allow from all
                #Deny from all
                #Allow from .example.com
        </Proxy>

        # Enable/disable the handling of HTTP/1.1 "Via:" headers.
        # ("Full" adds the server version; "Block" removes all outgoing Via: headers)
        # Set to one of: Off | On | Full | Block

        ProxyVia On
</IfModule>

Ensuite il ne vous reste plus qu’à effectuer vos redirection via des virtualhosts.
Dans l’exemple suivant, lorsqu’un visiteur tentera d’accéder à test.favrat.net, il sera redirigé vers le serveur local ayant l’adresse IP 192.168.0.2

<VirtualHost *>
	ServerName test.favrat.net
	ServerAlias test.favrat.net
	ProxyPass / http://192.168.0.2/
	ProxyPassReverse / http://192.168.0.2/
	<Proxy *>
		Order deny,allow
		Allow from all
	</Proxy>
</VirtualHost>

Sinon il y a aussi...