2010-01-27 2 views
0

Я спросил это по вине сервера, но на самом деле нету вез, в надежде, что кто-то здесь сможет предложить несколько советов ...Предотвращение доступа к определенному WebApps в Tomcat6

У меня есть сервер Tomcat 6 работает нормально , У меня есть внешний доступ. Я хотел знать, как запретить кому-то видеть определенные веб-приложения, например, я не хочу внешнего доступа к странице Tomotat ROOT. Как я могу предотвратить некоторые веб-приложения, оставив другие веб-приложения видимыми для внешних пользователей?

Вот что я пытался: Это все отрицает даже 127.0.0.1 запросы

<Host name="localhost" appBase="webapps" 
       unpackWARs="true" autoDeploy="true" 
       xmlValidation="false" xmlNamespaceAware="false"> 

    <Context path="/examples" docBase="" > 
     <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1"/> 
    </Context> 
    </Host> 

Это все отрицает, а также.

<Host name="localhost" appBase="webapps" 
        unpackWARs="true" autoDeploy="true" 
        xmlValidation="false" xmlNamespaceAware="false"> 

     <Context path="/examples" docBase="" > 
      <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="*"/> 
     </Context> 
     </Host> 

В основном я пытаюсь предотвратить доступ к странице TOMCAT ROOT по умолчанию и пример приложения ....

Есть идеи?

ответ

2

Вы не использовать джокер для атрибута позволяют ... с другой стороны, вы можете использование один для запрещающего атрибута.

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="*"/> 

Именно поэтому я получил код 403 с вышеуказанным кодом.

Еще один способ, которым я занимался, - это создать jsp, который перенаправлял трафик туда, где я хотел.

1

посмотреть документацию. http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html

То, что у вас есть, кажется правильным. он говорит: «Если этот атрибут указан, удаленный адрес ДОЛЖЕН соответствовать тому, чтобы этот запрос был принят».

Вы можете посмотреть, действительно ли 127.0.0.1 действительно правильный IP-адрес. Фактически вы можете использовать фактический IP-адрес окна. попробуйте добавить этот IP-адрес после локального хоста.

+0

также на моем втором примере, я позволить = "* «который должен позволять что угодно и все. но его все еще отрицали. – Gabe

+0

Вы сделали хороший вывод о двойной проверке источника ip +1 – Gabe

1

Значение «позволяет» имущество должно быть определено с помощью обратной косой черты, чтобы избежать точек разрешенного IP-адреса:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1"/> 
0

Это может быть IPv6 вопрос. Это то, что мой tomcat6/Catalina/myApp.xml выглядит следующим образом:

<!--<?xml version="1.0" encoding="UTF-8"?> --> 
<Context path="/myApp" privileged="true"> 
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1,0:0:0:0:0:0:0:1"/> 
</Context> 

Это может быть проверена, после чего уступит 403 если вы отказано в доступе

wget --inet4-only http://localhost:8080/myApp