2017-12-14 2 views
0

Ich habe Tomcat7 (7.0.82) zum Hosten von Web-Apps für mehrere Hostnamen konfiguriert, indem Sie für jede Domäne in der Datei server.xml einen Hosteintrag hinzufügen. Dies funktioniert wie erwartet. Unten ist meine Engine-Definition in server.xml:Tomcat7 ermöglicht den Zugriff auf Manager-App für mehrere Hosts

<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> 

Jetzt möchte ich den Zugriff auf die Manager-App für jeden Host aktivieren.

Ein Benutzer wird der Datei tomcat-users.xml in conf/hinzugefügt.

Ich habe eine manager.xml-Datei für jeden Host erstellt und diese Dateien in den entsprechenden Domänen-Unterordner in/conf, z. \ conf \ Catalina \ yyy.domain.com \ manager.xml. Der Inhalt der manager.xml Dateien sind identisch und enthält nur diese Informationen:

<?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> 

Der Manager App funktioniert, wenn es direkt über localhost/manager zugreifen, aber ich habe die Access-Standard 403 Denied sofort für die alternativen Hosts auf yyy.domain.com/manager ; Es wird keine Anmeldeaufforderung angezeigt.

Muss ich auf die Datei tomcat-users.xml aus der Datei manager.xml verweisen, oder sollte ich irgendwie einen Verweis in den manager.xml-Dateien auf UserDatabase erstellen, die in Engine definiert sind?

Antwort

0

Entfernen Sie einfach das "Valve" -Tag. Es ist nur der Zugriff auf "localhost" erlaubt (127.0.0.1).

Verwandte Themen