ポート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 が表示されないため、管理者ページが実行中で動作していることを意味します。
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>
このページにアクセス
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>
答え2
あなたのものはserver.xml
無効です。<Realm.../>
a内にaを入れ子にすることはできません<Service... />
。 、または<Realm.../>
内にのみ入れ子にすることができます。<Engine.../>
<Host.../>
<Context.../>