Приложение менеджера по Tomcat и ошибка HTTP 404

Я пытаюсь настроить приложение администрирования для 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.

manager.xml является значением по умолчанию, которому предоставляют Ubuntu Ясный 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 не имеет только обычной Области (UserDatabaseRealm) но также и один для аутентификации MySQL (JDBCRealm). Исследование этого показало что роль manager не присутствовал там для пользователя admin; Я зафиксировал это путем выполнения:

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

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

Что я пропускаю? Каково взаимодействие между различными областями? Как я получаю работу приложения менеджера?

6
задан 24 February 2012 в 23:40

6 ответов

У меня была такая же ситуация, когда менеджер tomcat не запускался. Я нашел это исключение в моем logs / 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$1.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.

0
ответ дан 24 February 2012 в 23:40

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

sudo yum install tomcat6-webapps tomcat6-docs-webapp tomcat6-admin-webapps
0
ответ дан 24 February 2012 в 23:40

Доступ напрямую /manager/html вместо. Работал на меня.

0
ответ дан 24 February 2012 в 23:40

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

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

0
ответ дан 24 February 2012 в 23:40

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

  • У вас не установлено приложение - исправьте с помощью 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" />

0
ответ дан 24 February 2012 в 23:40

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

ps -eaf | grep -i tomcat

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

Убить и перезапустить службу сработало.

0
ответ дан 24 February 2012 в 23:40

Другие вопросы по тегам:

Похожие вопросы: