Aplicativo do Tomcat Manager e erro HTTP 404

6

Estou tentando configurar o aplicativo administrativo para uma instância do Tomcat 6.0.24. Nenhuma das buscas que eu fiz apareceu qualquer coisa que eu possa usar. Eu estou usando essa configuração para o 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

No tomcat-users.xml eu tenho isto:

<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>

Eu encontrei os documentos que sugeriam que eu precisava de manager-gui role instalado e definido, mas que parece ser o Tomcat 7, não o Tomcat 6.

O manager.xml é o padrão fornecido com o Ubuntu Lucid Lynx 10.04:

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

Se eu acessar /manager de um navegador da web, recebo um erro 404 do Tomcat: "recurso solicitado não disponível". Se eu acessar /manager/images , obtenho a mesma coisa. Se eu acessar /manager/401.jsp , obtenho a página atual.

Além disso, o server.xml não tem apenas o domínio usual ( UserDatabaseRealm ), mas também um para a autenticação do MySQL ( JDBCRealm ). Investigar isso mostrou que o papel de manager não estava presente para o usuário admin ; Eu consertei isso fazendo:

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

Reiniciei o Tomcat, embora suspeite que tenha sido um exagero. Nenhuma mudança. Não vejo nenhum erro em catalina.out ou em arquivos de log localhost. *.

O que estou perdendo? Qual é a interação entre os diferentes reinos? Como faço para que o aplicativo gerenciador funcione?

    
por Mei 24.02.2012 / 20:40

6 respostas

3

Eu tive a mesma situação em que o gerente do tomcat não começou. Eu encontrei esta exceção em meus 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.run(URLClassLoader.java:202)
        ...

Esta exceção foi levantada porque eu usei uma versão do tomcat que não tinha o filtro de prevenção de CSRF.

O Tomcat 6.0.24 não possui o filtro de prevenção de CSRF. A primeira versão que o possui é a versão 6.0.30 (pelo menos de acordo com o changelog).

Como resultado, o Tomcat Manager era incompatível com a versão do Tomcat que eu usava. Eu encontrei esta descrição desta edição.

Etapas para corrigir isso:

  1. Verifique a versão do tomcat instalada executando "sh version.sh" de seu diretório tomcat / bin
  2. Download da versão correspondente do tomcat
  3. Pare o tomcat
  4. Remover seu diretório de aplicativos da Web / gerenciador e aplicativo do gerenciador de cópias da distributiva que você baixou.
  5. Iniciar o tomcat

Agora você deve conseguir acessar o gerenciador de tomcat.

    
por Sergey Smirnov 26.12.2012 / 17:20
2

404 significa que você não tem arquivo para acessar. Eu instalei o tomcat 7 no Amazon EC2 e recebi a mensagem 404. O padrão não foi enviado com o pacote e os documentos do gerenciador.

sudo yum install tomcat6-webapps tomcat6-docs-webapp tomcat6-admin-webapps
    
por Yoon Lee 06.04.2012 / 23:17
2

Acesse diretamente /manager/html . Trabalhou para mim.

    
por Etienne 28.06.2013 / 17:22
0

Eu tentei instalar o tomcat6-admin usando o comando "sudo apt-get install tomcat6-admin" no ubuntu, me disseram que o pacote já está atualizado. Decidi copiar / usr / share / tomcat6-admin / manager para o diretório tomcat6 webapps. Funciona agora.

Não sei por que a instalação não copiaria o aplicativo gerenciador para o diretório webapps.

    
por Willa O Ng'wana 08.04.2015 / 18:10
0

Verifique se você não tem um processo de tomcat preso no plano de fundo

ps -eaf | grep -i tomcat

Reconfigurado por algum tempo antes de perceber que service tomcat8 stop não estava interrompendo o serviço do tomcat porque o serviço estava congelado.

Mate e reinicie o serviço funcionado.

    
por kervin 25.04.2015 / 18:47
0

Você seguiu o guia ? Algumas possibilidades:

  • Você não tem o aplicativo instalado - corrija com sudo apt-get install tomcat7-admin (altere para sua versão do tomcat conforme necessário)
  • Talvez a configuração do Apache esteja errada, já que você parece estar usando o AJP. Eu usei com sucesso

    <Location /manager>

    ProxyPass ajp://localhost:8009/manager

    </Location>

    com uma entrada correspondente em /etc/tomcat7/server.xml :

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

por beldaz 01.12.2014 / 02:40