2017-12-14 11 views
0

server.xmlファイルの各ドメインにHostエントリを追加することで、複数のホスト名のWebアプリケーションをホストする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ファイルのtomcat-users.xmlファイルを参照していますか、manager.xmlファイルの参照をEngineに定義されているUserDatabaseに何らかの方法で作成する必要がありますか?

答えて

0

「バルブ」タグを取り外すだけです。それは "localhost"アクセス(127.0.0.1)だけを許可しています。

関連する問題