Назад | Перейти на главную страницу

Невозможно получить доступ к Tomcat 8 Host Manager (я могу получить доступ к приложению Manager)

Я не могу получить доступ к 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>

Любые идеи?

У меня тоже была такая же проблема. Решил это так:

Найдите и отредактируйте файл 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

У меня была точно такая же проблема, как и у вас.

Вот как я это решил:

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, но я думаю, что локальный хост выше имеет приоритет.

У меня была та же проблема, но я запускал Tomcat 9 в Windows 10. Оба решения - Marc Hearling и user3559338 - работают, но я добавлю несколько дополнительных идей.

Первая необычная вещь заключалась в том, что решение не сработало, если я включил аргумент docBase. Если я удалил этот аргумент, я смог бы получить работу Manager App и Server Status. Однако host-manager не работал. В конце концов я обнаружил, что каталог host-manager отсутствует в каталоге webapps. Я загрузил zip-файл tomcat и смог восстановить отсутствующий каталог. Я не знаю точно, почему его не было. Первоначально я установил Tomcat с помощью установщика Windows, а не с помощью zip-файла tomcat. Возможно, этот установщик не устанавливает каталог host-manager. Возможно, я случайно удалил эту папку, но я в этом сомневаюсь. После того, как у меня заработали приложение Manager, состояние сервера и менеджер хоста, я вернул аргумент docBase в два файла контекста xml, и на этот раз они сработали. Затем я поигрался с docBase и заметил, что, например, вы все еще можете получить доступ к диспетчеру хоста, даже если вы введете поддельный адрес docBase. Это заставляет меня задаться вопросом, какова точная ситуация, когда нужно включить параметр docBase. Единственный способ заставить параметр docBase выйти из строя - это удалить одну из кавычек. Это имеет смысл, поскольку это делает xml недействительным. К сожалению, Tomcat не регистрирует ошибку такого рода.