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 +FollowSymLinks en 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