Bonjour,

J'utilise Apache en Reverse Proxy devant un Tomcat.
Je souhaiterais empêcher l'accès à des ressources avec une URL rentrée en DIRECT.

J'ai 3 groupes d'utilisateurs :
Groupe 1 -> redirection vers http://montomcat:8080/mon_appli_1
Groupe 2 -> redirection vers http://montomcat:8080/mon_appli_2
Groupe 3 -> redirection vers http://montomcat:8080/mon_appli_3


Pour l'heure je fais ceci en 2 phases :
1. Filtrage des IP
2. Redirection suivant IP

J'utilise un fichier /etc/httpd/conf.d/mondomain.conf avec entre autres ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
...
 
<Proxy balancer://mycluster>
  BalancerMember ajp://localhost:8009
  Deny from all
  # User 1 (groupe 1)
  Allow from 1.2.3.4
  # User 2 (groupe 2)
  Allow from 5.6.7.8
  # User 3 (groupe 3)
  Allow from 9.10.11.12.13
  # etc...
</Proxy>
 
  # User 1 (groupe 1)
  RewriteCond %{REMOTE_ADDR} ^1\.2\.3\.4$
  RewriteRule ^/+$        /mon_appli_1 [L,R]
  # etc...
 
  # User 2 (groupe 2)
  RewriteCond %{REMOTE_ADDR} ^5\.6\.7\.8$
  RewriteRule ^/+$        /mon_appli_2 [L,R] 
 
  # User 3 (groupe 3)
  RewriteRule ^/+$        /mon_appli_3 [L,R]
 
...
Le filtrage et les redirections fonctionnement bien : Si un utilisateur (avec une IP autorisée) entre l'adresse http://montomcat:8080 il est bien redirigé vers l'appli qui lui est assignée.

Par contre rien ne l'empêche d'entrer une des autres adresses en DIRECT s'il les connait : Par exemple le User 1 peut entrer et accéder à http://montomcat:8080/mon_appli_2 alors qu'il doit aller sur http://montomcat:8080/mon_appli_1

En gros le filtrage IP ne peut rien car le user est autorisé et la redirection est bypassée par une URL en direct.
Comment puis-je faire SVP ?
Merci.

Tom.