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 "%r" %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 권한 얻기 ; 로그인 프롬프트가 표시되지 않습니다.
Engine
내에서 정의 된
UserDatabase
에 manager.xml 파일에 대한 참조를 만들어야합니다 있습니까?