Ограничить доступ к определенному URL-адресу (Apache Tomcat)

Как я могу ограничить доступ к определенному URL-адресу (это сервер приложений Tomcat)? например http://localhost:8081/application не может быть доступен для пользователя, кроме указанного IP (то есть вызывающей службы)


person Haniball    schedule 31.01.2011    source источник
comment
Этот связанный вопрос может помочь stackoverflow.com/questions/593922/ip-restriction -with-htaccess   -  person Robb    schedule 31.01.2011
comment
Это может сработать, но поскольку мы говорим о Tomcat, вам потребуется прокси через Apache следующим образом: tomcat.apache.org/connectors-doc-archive/jk2/proxy.html, а также см. http://httpd.apache.org/docs/1.3./mod/mod_proxy.html#access   -  person Aaron Newton    schedule 31.01.2011


Ответы (2)


Цитировать:

Фильтр удаленного адреса, org.apache.catalina.valves.RemoteAddrValve, позволяет сравнивать IP-адрес запрашивающего клиента с одним или несколькими регулярными выражениями, чтобы разрешить или запретить продолжение запроса на основе результатов этого сравнения. Фильтр удаленного адреса может быть связан с контейнером Tomcat Engine, Host или Context. org.apache.catalina.valves.RemoteAddrValve.

http://www.oxxus.net/tutorials/tomcat/tomcat-valve.htm

Итак, вам понадобится что-то вроде

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="<your-ip-here>"/>

Возможные значения см.

http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Remote_Address_Filter

Вы должны иметь возможность установить это в WEB-INF / web.xml для своего приложения, см.

http://oreilly.com/java/archive/tomcat.html

person Aaron Newton    schedule 31.01.2011
comment
Tomcat предлагает два аналогичных класса для блокировки или разрешения на основе удаленного IP-адреса: org.apache.catalina.valves.RemoteAddrValve и org.apache.catalina.filters.RemoteAddrFilter. Примеры в документации Tomcat для последнего показывают, как использовать url-шаблон. Я не уверен, что url-шаблон или сопоставление фильтров разрешены с первым классом. - person MikeOnline; 05.04.2019

Перейдите по следующему пути: C: \ Program Files \ Apache Software Foundation \ Tomcat 6.0 \ conf \ Catalina \ localhost \

По этому пути вы найдете файл «manager.xml».

Отредактируйте файл "manager.xml" следующим образом:

<Context path="/manager" debug="0" privileged="true">

      <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,10.100.1.2"/>

      <!-- Link to the user database we will get roles from
      <ResourceLink name="users" global="UserDatabase" type="org.apache.catalina.UserDatabase"/>
        -->

</Context>

Сохраните и запустите сервер. Ты получил это.

ЗАМЕТКА :

  • 127.0.0.1 ЗНАЧИТ ВАШ СИСТЕМНЫЙ IP
  • 10.100.1.2 - ЭТО ВАШИ ДРУЗЬЯ IP.
person Ram Alwala    schedule 17.07.2013