Ограничить доступ к определенному URL (Apache Tomcat) - PullRequest
3 голосов
/ 31 января 2011

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

Ответы [ 2 ]

6 голосов
/ 31 января 2011

Цитата:

Фильтр удаленных адресов, 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

1 голос
/ 17 июля 2013

Перейти по следующему пути: 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.
...