Authentification basic en fonction de la source

 1 <Directory /var/www/html>
 2  Order deny,allow
 3  Deny from all
 4  AuthType Basic
 5  AuthName "Restricted Space Auth"
 6  AuthUserFile /etc/httpd/htpasswd/list_user
 7  Require user MonUser
 8  #Reseau Sans Auth
 9  Allow from 192.168.254.0/255.255.255.0
10  Satisfy Any
11 </Directory>

Demande l'authentification (utilisateur MonUser) sauf pour les clients ayant une IP du réseau 192.168.254.0/24.

Subtilité de ProxyPass à la racine

Contexte

J'ai du utilisé cette configuration sur un serveur qui héberge Kibana 4 ainsi que d'autres sites web (sous répertoires de DocumentRoot).
N'ayant pas la possibilité de mettre en place de VirtualHost, voici la solution que j'ai choisi. L'utilisation de ProxyPass et ProxyPassReverse necessite mod_proxy.

Configuration

 1 ##==ElasticHQ--debut==
 2 #Monitoring cluster ES
 3 ProxyPass /es http://127.0.0.1:9200/
 4 ProxyPassReverse /es http://127.0.0.1:9200/
 5 Alias /elastichq/ /var/www/html/elastichq/
 6 ##==ElasticHQ--fin==
 7 
 8 ##==site2--debut==
 9 <Directory /var/www/html/site2>
10  #Prise en compte des rewrite en htaccess
11   RewriteEngine on
12   AllowOverride All
13 </Directory>
14 ##==site2--fin==
15 
16 ##==Kibana--debut==
17 #Oblige de mettre / car malgres la directive kibana server.Pathbase "/kibana"
18 # certains objets n apparaissent pas, on dirait qu ils sont hardcodes.
19 # 2 solutions : ProxyPass / ou VirtualHosts par appli (mais on n'a pas de DNS)
20 
21 #Exclusions des Alias sinon ils matchent le proxypass /
22 ProxyPassMatch ^/site1/ !
23 ProxyPassMatch ^/site2/ !
24 ProxyPassMatch ^/site3/ !
25 ProxyPassMatch ^/phpmyadmin/ !
26 ProxyPass / http://127.0.0.1:5601/
27 ProxyPassReverse / http://127.0.0.1:5601/
28 ##==Kibana--fin==

Note : La subtilité à prendre en compte et qu'il faut bien ajouter un / à la fin des URLS.
exemple : http://X.X.X.X/site1/