Приложение Tomcat Manager и ошибка HTTP 404

6

Я пытаюсь настроить приложение администратора для экземпляра Tomcat 6.0.24. Ни один из поисковых запросов, которые я сделал, не активирует все, что я могу использовать. Я использую эту конфигурацию для Apache 2.2.14:

Alias /manager /usr/share/tomcat6-admin/manager

<Directory "/usr/share/tomcat6-admin/manager">
        Options Indexes FollowSymLinks
        AllowOverride None
        allow from all
</Directory>

ProxyPass /manager ajp://localhost:8009/manager

В tomcat-users.xml у меня есть это:

<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="admin"/>
  <role rolename="operator"/>
  <role rolename="manager"/>
  <user username="admin" password="nopasswordforyou" roles="admin,tomcat,manager"/>
  <user username="operator" password="nevermind" roles="operator"/>
</tomcat-users>

Я нашел документы, которые предположили, что мне нужна manager-gui роль установлена ​​и определена, но это, кажется, Tomcat 7, а не Tomcat 6.

Менеджер.xml по умолчанию предоставляется с Ubuntu Lucid Lynx 10.04:

<Context path="/manager" 
        docBase="/usr/share/tomcat6-admin/manager" 
        antiResourceLocking="false" privileged="true" />

Если я получаю сообщение /manager из веб-браузера, я получаю ошибку 404 от Tomcat: «запрашиваемый ресурс недоступен». Если я получаю доступ к /manager/images , я получаю то же самое. Если я получаю доступ к /manager/401.jsp , я получаю фактическую страницу.

Кроме того, server.xml имеет не только обычный Realm ( UserDatabaseRealm ), но и один для аутентификации MySQL ( JDBCRealm ). Исследование этого показало, что роль manager не существует для пользователя admin ; Я исправил это, выполнив:

INSERT USER_ROLE_DB SET USER_NAME='admin', ROLE_NAME='manager';

Я перезапустил Tomcat, хотя я подозреваю, что это было излишним. Без изменений. Я не вижу никаких ошибок в файлах каталоги.out или localhost. *.

Что мне не хватает? Каково взаимодействие между различными сферами? Как получить приложение менеджера?

    
задан Mei 24.02.2012 в 20:40
источник

6 ответов

3

У меня была такая же ситуация, когда менеджер tomcat не запускался. Я нашел это исключение в своих журналах / manager.DDD-MM-YY.log:

org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter CSRF
java.lang.ClassNotFoundException: org.apache.catalina.filters.CsrfPreventionFilter
        at java.net.URLClassLoader.run(URLClassLoader.java:202)
        ...

Это исключение было вызвано тем, что я использовал версию tomcat, у которой не было фильтра предотвращения CSRF.

В Tomcat 6.0.24 нет фильтра предотвращения CSRF. Первая версия с версией 6.0.30 (по крайней мере, в соответствии с изменением).

В результате Tomcat Manager был несовместим с версией Tomcat, которую я использовал. Я нашел это описание этой проблемы.

Шаги по исправлению:

  1. Проверить версию tomcat, установленную при запуске «sh version.sh» из ваш каталог tomcat / bin
  2. Загрузите соответствующую версию tomcat
  3. Stop tomcat
  4. Удалите свою директорию webapps / manager и приложение диспетчера копий из дистрибутива, который вы загрузили.
  5. Запустить tomcat

Теперь вы должны иметь доступ к диспетчеру tomcat.

    
ответ дан Sergey Smirnov 26.12.2012 в 17:20
2

404 означает, что у вас нет файла для доступа. Я установил tomcat 7 на Amazon EC2 и получил сообщение 404. По умолчанию не было отправлено с пакетом менеджеров и документами.

sudo yum install tomcat6-webapps tomcat6-docs-webapp tomcat6-admin-webapps
    
ответ дан Yoon Lee 06.04.2012 в 23:17
2

Вместо этого выберите непосредственно /manager/html . Работал для меня.

    
ответ дан Etienne 28.06.2013 в 17:22
0

Вы следовали за руководством ? Некоторые возможности:

  • У вас нет установленного приложения - исправьте sudo apt-get install tomcat7-admin (при необходимости измените вашу версию tomcat)
  • Возможно, конфигурация Apache неверна, учитывая, что вы, похоже, используете AJP. Я успешно использовал

    <Location /manager>

    ProxyPass ajp://localhost:8009/manager

    </Location>

    с соответствующей записью в /etc/tomcat7/server.xml :

    <Connector port="8009" enableLookups="false" URIEncoding="UTF-8" protocol="AJP/1.3" redirectPort="8443" proxyPort="443" scheme="https" secure="true" />

ответ дан beldaz 01.12.2014 в 02:40
0

Я попытался установить tomcat6-admin, используя «sudo apt-get install tomcat6-admin» на ubuntu, мне сказали, что пакет уже обновлен. Я решил скопировать / usr / share / tomcat6-admin / manager в каталог tomcat6 webapps. Теперь он работает.

Я не уверен, почему установка не будет копировать приложение-менеджер в каталог webapps.

    
ответ дан Willa O Ng'wana 08.04.2015 в 18:10
0

Убедитесь, что у вас нет процесса tomcat, застрявшего в фоновом режиме

ps -eaf | grep -i tomcat

Переконфигурировалось какое-то время, прежде чем реализовать service tomcat8 stop не остановил службу tomcat, поскольку служба была заморожена.

Убейте, а затем перезапустите выполненную службу.

    
ответ дан kervin 25.04.2015 в 18:47