Je suis coincé avec une sorte de problème de configuration que je pense. J'ai besoin de protéger un dossier qui se trouve dans ma demande de tomcate réelle de l'accès de Une certaine gamme IP.
Je pensais que c'était serverfault , donc j'ai posté la question Il . En ce moment je ne suis pas sûr de savoir si tel est le cas ou si SF de toute façon ... P>
Néanmoins, j'ai continué à essayer de le faire passer moi-même et j'ai compris que
J'ai besoin de définir le p> pour ce dossier de la mine. Malheureusement, je ne peux tout simplement pas arriver où j'ai besoin de faire ça
réglage. web.xml, server.xml? Essayé à la fois, null succès. Quelqu'un pourrait-il pls
aidez-moi à ce sujet. p> tia p> k p> p>
4 Réponses :
Il devrait aller à l'intérieur de votre rappelez-vous que les valeurs de chaîne sont des motifs de regex, donc des caractères de regex spéciaux (par exemple, le point (.)) doit être échappé avec des backslashes. p> EDIT STRY>: En réponse au commentaire de l'OP.
Je pense que vous devez implémenter un filtre dans votre application Web et configurez-le pour accepter ou rejeter les demandes basées sur leur adresse IP à distance. L'adresse distante peut être récupérée à partir de Vous déclarez un filtre dans votre fichier web.xml: p> < PRE> XXX PRE> Lire l'article lié à propos de ce qui doit être fait pour accepter les paramètres initiaux. Je pense que pour votre prise de décision, vous pouvez copier sans vergogne le code de la requêteDumpervalve. P> p>
de servleRequest de code> passé dans
DOFILTER code> méthode. P>
Première ThX pour la réponse rapide, (+1). Malheureusement, cela semble ne pas travailler encore. Jusqu'à présent, il n'y a eu aucune section de contexte dans mon serveur.xml. En fait, l'application elle-même devrait être accessible au monde. Un seul dossier de là, fondamentalement, un dossier contenant des PDF ne devrait être accessible que par certains IP. Dans l'application, il y a un simple lien href dans ce dossier. Si le client vient de mon net interne, tout va bien. Si le client est externe, le dossier ne doit pas être ouvert pour lui. Est-ce que mon approche est toujours correcte?
Vous devez le mettre dans l'élément Pour Tomcat, il peut s'agir de plusieurs endroits, sous chacun, le code> code> /meta-inf/context.xml code> ou le serveur (et contrôlé par le serveur) < CODE> / CONF / [ENGINENAME] / [Nom d'hôte] /Context.xml Code> ou le global global
/conf/context.xml spécifique au serveur code> ou le
/ conf / conf / server.xml code>. Voir aussi le Documentation de contexte Tomcat . P>
La vanne Tomcat peut être appliquée sur tout le moteur, l'hôte ou un contexte spécifique (WebApp). Vous devez l'utiliser pour votre application entière, pas un chemin ou des annuaires spécifiques.
Vous devez la définir dans votre méta-INF / Context.xml ou votre fragment de contexte dans le répertoire Conf / Catalina / [Hôte]. Par exemple, P>
<Context path="/myapp" ...> ... <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="10.1.2.*"/> </Context>
Utile. Je suis capable de limiter mon site au bloc IPv4 approprié en faisant cela. Cependant, il ne semble pas fonctionner pour IPv6. Existe-t-il une façon différente de le faire, ou Tomcat n'a-t-il toujours pas de soutien IPv6 complet?
@Brianknoblauch, tomcat fait i> support IPv6, voir Accès à certains-webapps-in-tomcat6
On dirait qu'il a besoin d'une construction personnalisée de Tomcat pour prendre en charge IPv6 (les fichiers binaires pré-construits ne semblent pas l'appuyer). Jusqu'à présent, incapable de trouver la bonne combinaison de dépendances / options pour faire une construction complète de Tomcat avec le fonctionnement IPv6. Donc, oui, il le soutient, mais bonne chance en train de le faire. ;-)
avait le même besoin que vous (mais pour d'autres raisons) la semaine dernière et créé une vanne pour bloquer les demandes par chemin. Il est basé sur Utilisation: p>
La vanne peut être utilisée dans le moteur, l'hôte ou le contexte, comme n'importe quelle vanne et est disponible sur GitHub. http://github.com/xlson/tomcat-valves P>
Je suggérerais d'utiliser les vannes Tomcat ou les filtres de servlet par défaut de votre application si cela résout votre problème. La raison pour laquelle nous avions besoin d'une vanne personnalisée était que certaines parties de l'application de gestion Tomcat PSI-Sonde a> serait "fuir" même si nous utilisions le org.apache.catalina.valves.requestfiltervalve code>. P>
RemoteaddrValve code> dans le
J'ai ajouté une section sur les filtres à ma réponse. Je pense que c'est ce dont vous avez besoin.