web-dev-qa-db-fra.com

Comment restreindre l'accès par adresse IP avec Tomcat?

Est-ce que quelqu'un sait si Tomcat peut restreindre l'accès à certaines applications par adresse IP (comme le .htaccess d'Apache)? 

28
SMSM

Vous ajoutez une Valve à la Context dans context.xml (plus précisément, org.Apache.catalina.valves.RemoteAddrValve). Voir la documentation sur Filtres de l'hôte distant

26
skaffman

Ceci est un exemple:  

dans\Apache-Tomcat-7.0.33\conf\server.xml:

<Engine name="Catalina" defaultHost="localhost">
    ...
    ...
    ...
    <Valve className="org.Apache.catalina.valves.RemoteAddrValve"
        allow="10\.132\.77\.55|10\.132\.76\.120|10\.132\.77\.47"/>
    ...
</Engine>
23
Nimesh Chanchani

Dans Tomcat 7, vous pouvez le configurer dans le web.xml

Si c'est pour toutes les applications Web, vous pouvez le configurer dans Tomcat7/conf/web.xml; s'il ne s'agit que d'une application Web, vous pouvez le configurer dans Tomcat7/webapps/$(WEB_APP)/WEB-INF/web.xml, c'est très pratique.

La configuration utilise un filtre RemoteAddrFilter; il existe un exemple dans Filtres fournis par le conteneur .

4
Ascatgz

dans Tomcat 9, vous pouvez le configurer dans le chemin: Apache-Tomcat-9.0.14\webapps\manager\META-INF\context.xml

0
TJ Season

Pour configurer la restriction d'accès à votre application Web pour certaines adresses IP, ajoutez les chaînes suivantes au fichier /opt/Tomcat/webapps/ROOT/META-INF/context.xml

<Context antiJARLocking="true" path="/">
 <Valve className="org.Apache.catalina.valves.RemoteIpValve" />
 <Valve className="org.Apache.catalina.valves.RemoteAddrValve" deny="{IP_address}" />
</Context>

Voici l’instruction comment faire cela via le panneau Jelastic.

0
Tetiana