Eu instalei o tomcat 9 em um servidor remoto e depois de iniciá-lo, ele foi ativado corretamente, posso acessar http: // host_name: port_num e ver a página do tomcat hello. Mas quando tento abrir o aplicativo gerenciador para ver meus aplicativos implantados, obtenho 403 acesso negado, já adiciono funções no usuário xml do tomcat como segue:
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<user username="user" password="password" roles="admin,manager,manager-gui"/>
As mensagens de erro que vi são:
Por padrão, o Host Manager só pode ser acessado em um navegador em execução na mesma máquina do Tomcat. Se desejar modificar esta restrição, você precisará editar o arquivo context.xml do Host Manager.
Como devo alterar o arquivo context.xml e obter acesso ao aplicativo gerenciador?
Para Tomcat v8.5.4 e superior, o arquivo
<tomcat>/webapps/manager/META-INF/context.xml
foi ajustado:Altere este arquivo para comentar o
Valve
:Depois disso, atualize seu navegador (não é necessário reiniciar o Tomcat), você pode ver a página do gerenciador.
fonte
context.xml
arquivos. As instruções na página de erro padrão do Tomcat para editar o arquivo context.xml do gerenciador podem ser mais claramente declaradas como editar o arquivo context.xml no diretório do aplicativo do gerenciador.Para acessar o gerenciador do tomcat de uma máquina diferente, você deve seguir as etapas abaixo:
1. Atualize o arquivo conf / tomcat-users.xml com o usuário e algumas funções :
Aqui, o usuário administrador está atribuindo funções = "manager-gui, manager-script, manager-jmx, manager-status" .
Aqui, o usuário e a senha do tomcat são: admin
2. Atualize o arquivo webapps / manager / META-INF / context.xml (permitindo o endereço IP) :
Configuração padrão :
Aqui na Valve, é permitido que apenas o IP da máquina local comece com 127. \ d +. \ D +. \ D + .
2.a: Permitir IP específico :
Aqui, você apenas substitui | YOUR.IP.ADDRESS.HERE pelo seu endereço IP
2.b: Permitir todos os IP :
Aqui, usando allow = ". *" Você está permitindo todos os IPs.
Obrigado :)
fonte
YOUR.IP.ADDRESS.HERE
- e, portanto, realmente responde à pergunta para acessar o aplicativo gerenciador de um host diferente, não apenas de qualquer lugar na Internet. IMHO esta deve ser a resposta aceita. Sugestão de melhoria: Mova 2.a para o topo, opcionalmente adicione a sugestão de @ThomasLIMIN.fonte