Я не могу получить доступ к Host Manager после установки Tomcat 8 на моем сервере Ubuntu 16.04. Я могу получить доступ к приложению Manager.
Я добавил роли manager-gui
и admin-gui
в свой файл tomcat-users.xml
, расположенный в Каталог $ CATALINA_HOME / conf /
.
<tomcat-users . . .>
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="myusername" password="mypassword" roles="manager-gui,admin-gui"/>
</tomcat-users>
Есть идеи?
У меня была точно такая же проблема, как и у вас.
Вот как я решил это:
conf / tomcat-users.xml (остается прежним)
<tomcat-users>
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="password" roles="admin-gui,manager-gui"/>
</tomcat-users>
В conf / Catalina / localhost мне нужен дополнительный файл для каждого контекста:
manager.xml
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
host-manager.xml
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/host-manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
После этого мне было предложено ввести имя пользователя и пароль, и это сработало.
Я прочитал несколько статей, в которых предлагалось редактировать клапаны в /webapps/manager/META-INF/context.xml и / webapps / host-manager / META-INF / context.xml, но я думаю, что локальный хост, указанный выше, имеет приоритет.
У меня тоже была такая же проблема. Решил это следующим образом:
Найдите и отредактируйте файл host-manager webapp context.xml:
$CATALINA_HOME/webapps/host-manager/META-INF/context.xml
Закомментируйте Valve, которая ограничивает ваш доступ только локальным хостом:
<Context antiResourceLocking="false" privileged="true" >
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
Сохраните и закройте файл.
Хорошо Практика заключалась в перезапуске Tomcat, но мне в этом не было необходимости, доступ был немедленным.
Tomcat 8.5.29 на OEL 7.4, Java 1.8_162
У меня была та же проблема, но я запускал Tomcat 9 в Windows 10. Оба решения Marc Hearling и user3559338 работают, но я добавлю некоторые дополнительные идеи.
Первым необычным моментом было то, что решение не работало, если я включал аргумент docBase. Если бы я удалил этот аргумент, я смог бы заставить работать приложение Manager и статус сервера. Однако хост-менеджер не работал. В конце концов я обнаружил, что каталог host-manager отсутствует в каталоге webapps. Я загрузил zip-файл tomcat и смог восстановить отсутствующий каталог. Я точно не знаю, почему он пропал. Первоначально я установил Tomcat с помощью установщика Windows, а не с помощью zip-файла tomcat. Возможно, этот установщик не устанавливает каталог host-manager. Возможно, я случайно удалил эту папку, но я в этом сомневаюсь. После того, как у меня заработали приложение Manager, статус сервера и диспетчер хоста, я вернул аргумент docBase в два файла контекста xml, и на этот раз они сработали.Затем я поиграл с docBase и заметил, что, например, вы все еще можете получить доступ к диспетчеру узлов, даже если введете фиктивный адрес docBase. Это заставляет меня задаться вопросом, какова точная ситуация, когда нужно включить параметр docBase. Единственный способ, которым я мог заставить параметр docBase потерпеть неудачу, - это удалить одну из кавычек. Это имеет смысл, поскольку это делает xml недействительным. К сожалению, Tomcat не регистрирует ошибки такого рода.