В моем случае у меня было несколько <Engine><Host>...</Host></Engine>
разделов в моем context.xml
, и мне приходилось копировать и вставлять <Realm className="org.apache.catalina.realm.LockOutRealm">...</Realm>
в каждый <Engine>...</Engine>
раздел, потому что у меня было развернуто приложение менеджера на каждом из этих хостов, которыебыли частью отдельного Engine
.
Ответ @swapnil chaudhari об ограничении IP-адресов в META-INF/context.xml
приложения также полезен, однако я нашел более полезным переопределить Context
в моемserver.xml
.
сервера. В конце концов, у меня есть что-то подобное для каждого из моих Engines
:
<Engine name="CatalinaMyUniqueEngine"
defaultHost="MyUniqueHost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="MyUniqueHost"
appBase="/opt/tomcat/webapps/MyUniqueHost"
unpackWARs="true" autoDeploy="true">
<Context path="/manager" privileged="true" antiResourceLocking="false"
docBase="manager">
<!-- Wider allowance than the default.
Or you can remove to allow all IPs, which probably isn't
a good idea. -->
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.0\.0\.1|10\.244\.\d+.\d+" />
</Host>
</Engine>
docBase
относительно appBase
.В /opt/tomcat/webapps/MyUniqueHost
у меня есть символическая ссылка на приложение менеджера, установленное менеджером пакетов моей системы (на основе Debian), которое поместило его в /usr/share/tomcat8-admin/manager
.Эти символические ссылки позволяют мне использовать приложение менеджера во всех моих Hosts
без копирования приложения менеджера.