Tomcat9は、複数のサービスの管理ページを有効にします。

Tomcat9は、複数のサービスの管理ページを有効にします。

ポート8999で実行されているいくつかのWebサービスの管理者ページを有効にするために、webappsの管理者ディレクトリをポート8999用のアプリケーションライブラリwebapps2にコピーしました。

管理者ページはポート8999でうまく開かれますが、tomcat-users.xmlで定義されている資格情報を使用して認証できません。

8999 で実行されるサービス構成が完了しました。

Tomcat バージョン - 9

<Service name="Service8999">

    <Realm className="org.apache.catalina.realm.LockOutRealm">

    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
     resourceName="UserDatabase"/>
    </Realm>


      <Connector port="8999" protocol="org.apache.coyote.http11.Http11NioProtocol"
             maxThreads="150" SSLEnabled="true">
      <SSLHostConfig>
         <Certificate certificateKeystoreFile="conf/keystore_new.jks"
                       certificateKeystorePassword='dvjnvjk8d7sv8sd98'/>
      </SSLHostConfig>
  </Connector>

  <Engine name="Service8999" defaultHost="localhost">
          <Host name="localhost" appBase="Service8999"
              unpackWARs="true" autoDeploy="true"
               xmlValidation="false" xmlNamespaceAware="false">
          </Host>
  </Engine>
</Service>

答え1

ページに HTTP 404 が表示されないため、管理者ページが実行中で動作していることを意味します。

  1. server.xml要素の後ろ<Listener/>と要素の前に追加します<Service/>(デフォルトからコピーされますapache-tomcat-9.0.20/conf/server.xml):

    <GlobalNamingResources>
      <!-- Editable user database that can also be used by
           UserDatabaseRealm to authenticate users
      -->
      <Resource name="UserDatabase" auth="Container"
                type="org.apache.catalina.UserDatabase"
                description="User database that can be updated and saved"
                factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                pathname="conf/tomcat-users.xml" />
    </GlobalNamingResources>
    
  2. このページにアクセスmanager-guiするには、パスワードと役割を持つユーザーを追加する必要があります。tomcat-users.xml/manager/html

    最小限のサンプルtomcat-users.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <tomcat-users xmlns="http://tomcat.apache.org/xml"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
                  version="1.0">
      <user username="admin" password="secret" roles="manager-gui"/>
    </tomcat-users>
    

    バラよりConfiguration Managerアプリケーションへのアクセス

答え2

あなたのものはserver.xml無効です。<Realm.../>a内にaを入れ子にすることはできません<Service... />。 、または<Realm.../>内にのみ入れ子にすることができます。<Engine.../><Host.../><Context.../>

関連情報