2017-12-14 21 views
0

server.xml 파일의 각 도메인에 대한 호스트 항목을 추가하여 Tomcat7 (7.0.82)에서 여러 호스트 이름에 대해 웹 응용 프로그램을 호스팅하도록 구성했습니다. 이것은 예상대로 작동합니다. 다음은 server.xml의 엔진 정의입니다.Tomcat7에서 여러 호스트 구성을위한 관리자 앱에 액세스 허용

<Engine defaultHost="localhost" name="Catalina"> 
     <Realm className="org.apache.catalina.realm.LockOutRealm"> 
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> 
     </Realm> 

     <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> 
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/> 
     </Host> 

     <Host appBase="xxx-webapps" autoDeploy="true" name="xxx.domain.com" unpackWARs="true"> 
     </Host> 

     <Host appBase="yyy-webapps" autoDeploy="true" name="yyy.domain.com" unpackWARs="true"> 
     </Host> 
    </Engine> 

이제 각 호스트에 대한 관리자 앱에 대한 액세스를 허용하려고합니다.

conf /에 tomcat-users.xml 파일에 사용자가 추가됩니다.

저는 각 호스트에 대한 manager.xml 파일을 만들고이 파일을/conf의 해당 도메인 이름 하위 폴더에 배치했습니다. \ conf \ Catalina \ yyy.domain.com \ manager.xml에 있습니다. manager.xml 파일의 내용은 동일 만이 정보를 포함

<?xml version='1.0' encoding='utf-8'?> 
<Context docBase="${catalina.home}/webapps/manager" 
    antiResourceLocking="false" privileged="true" > 
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1" /> 
</Context> 

localhost/manager을 통해 직접 액세스 할 때 관리자 응용 프로그램은 작동하지만, 나는 yyy.domain.com/manager에 다른 호스트 즉시 거부 기본 403 권한 얻기 ; 로그인 프롬프트가 표시되지 않습니다.

내가 manager.xml 파일에서 바람둥이-users.xml에서 파일을 참조하거나 내가 어떻게 든 Engine 내에서 정의 된 UserDatabase에 manager.xml 파일에 대한 참조를 만들어야합니다 있습니까?

답변

0

"밸브"태그를 제거하기 만하면됩니다. 그것은 "localhost"액세스 (127.0.0.1) 만 허용됩니다.