Proxy sur serveur Apache
Par Fred le jeudi, décembre 3 2009, 13:26 - Orgueil - Lien permanent
Il existe des applications qui utilisent un service HTTP pour l'administration ou tout autre service, mais sur un autre port que le port par défaut, 80.
Comment rediriger un port via Apache
Une application comme Webmin utilise par exemple le port 10000, cependant cela est contraignant lorsque vous désirez accéder à l'adresse du service.
Pour éviter ce genre de situation, il faut créer un proxy dans Apache. Dans cet exemple nous allons établir un proxy entre le port 80 et 10000.
Admettons que l'adresse IP de votre serveur est 10.0.0.100, pour accéder à Webmin vous devez taper 10.0.0.100:10000. Et bien plus maintenant.
Configurer Apache en Proxy
Créer un nouveau fichier de configuration dans votre dossier sites-available :
$ sudo nano /etc/apache2/sites-available/webmin.conf
Tapez les lignes suivantes :
ProxyPass /webmin/ http://localhost:10000/ ProxyPassReverse /webmin/ http://localhost:10000/
Le / final est indispensable.
Activez votre fichier de configuration.
$ sudo a2ensite webmin.conf
Rechargez la configuration
$ sudo /etc/init.d/apache2 reload
Vous devriez maintenant accéder au port 10000 à travers le port 80 en accédant à http://10.0.0.100/webmin/. Sans oublier le / final !
Supprimer le slash final d'un proxy Apache
Une petite astuce permet de supprimer le fait de devoir taper votre slash à la fin de l'URL. Nous allons utiliser un fichier .htaccess.
Allez à la racine de votre répertoire Web, par défaut : /var/www, mais tout dépend de votre configuration.
Créez le fichier .htaccess
$ sudo nano .htaccess
Indiquez-y les lignes suivantes :
RewriteEngine on RewriteRule ^webmin$ /webmin/
http://10.0.0.100/webmin devrait fonctionner tout aussi bien.
Débugging
Si l'astuce du slash ne fonctionne pas, voici quelques pistes :
- Vérifiez que la valeur AllowOverride est bien All dans le Virtual Host correspondant au dossier dans lequel se trouve le .htaccess.
- Vérifiez que l'option FollowSymLinks n'est pas désactivée, sinon ajoutez
Options +FollowSymLinksen tête de votre fichier .htaccess, ou activez-la dans votre Virtual Host. - Vérifiez que le module Rewrite est correctement installé :
$ sudo a2enmod rewrite
Article récupéré après crash serveur. URL originale
