Как ограничить доступ по IP-адресу с Tomcat? - PullRequest
30 голосов
/ 01 августа 2010

Кто-нибудь знает, может ли Tomcat ограничить доступ к определенному приложению по IP-адресу (например, Apache .htaccess)?

Ответы [ 5 ]

26 голосов
/ 01 августа 2010

Вы добавляете Valve к Context в context.xml (в частности, org.apache.catalina.valves.RemoteAddrValve). См. Документы по Фильтры удаленного хоста .

23 голосов
/ 12 декабря 2012

Это пример:

в \ 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>
4 голосов
/ 13 апреля 2016

В Tomcat 7 вы можете настроить его в web.xml.

Если это для всех веб-приложений, вы можете настроить его в tomcat7/conf/web.xml, если это только для одного веб-приложения, вы можете настроить его в tomcat7/webapps/$(WEB_APP)/WEB-INF/web.xml, это очень удобно.

В конфигурации используется фильтр RemoteAddrFilter, пример можно найти в Фильтры с контейнером .

2 голосов
/ 27 апреля 2018

Чтобы установить ограничение доступа к вашему веб-приложению для определенных IP-адресов, добавьте следующие строки в / opt / tomcat / webapps / {имя веб-приложения} / META-INF / context.xml file:

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

Вот инструкция , как это сделать через панель Jelastic.Обязательно перезапустите Tomcat, чтобы изменения вступили в силу.

0 голосов
/ 24 января 2019

в Tomcat 9 вы можете настроить его по пути: apache-tomcat-9.0.14\webapps\manager\META-INF\context.xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...