true - tomcat-users.xml tomcat 8
Acceda a la aplicaciĆ³n Tomcat Manager desde un host diferente (3)
He instalado tomcat 9 en un servidor remoto y, después de iniciarlo, lo http://host_name:port_num bien, puedo acceder a http://host_name:port_num y ver la página hola de tomcat. Pero cuando trato de abrir la aplicación de administrador para ver mis aplicaciones implementadas, se me niega el acceso 403, ya agrego roles en tomcat user xml de la siguiente manera:
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<user username="user" password="password" roles="admin,manager,manager-gui"/>
Los mensajes de error que vi es:
De manera predeterminada, solo se puede acceder al Host Manager desde un navegador que se ejecuta en la misma máquina que Tomcat. Si desea modificar esta restricción, deberá editar el archivo context.xml del Administrador de host.
¿Cómo debo cambiar el archivo context.xml y obtener acceso a la aplicación de administrador?
Cada aplicación web desplegada tiene un archivo
context.xml
que vive en
$CATALINA_BASE/conf/[enginename]/[hostname]
(conf/Catalina/localhost by default)
y tiene el mismo nombre que la aplicación web (
manager.xml
en este caso).
Si no hay ningún archivo presente, se utilizan valores predeterminados.
Por lo tanto, debe crear un archivo
conf/Catalina/localhost/manager.xml
y especificar la regla que desea permitir el acceso remoto.
Por ejemplo, el siguiente contenido de
manager.xml
permitirá el acceso desde todas las máquinas:
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
Tenga en cuenta que el atributo permitir del elemento
Valve
es una expresión regular que coincide con la dirección IP del host de conexión.
Otras clases de
Valve
en cuenta otras reglas (por ejemplo,
RemoteHostValve
para nombres de host coincidentes).
Una vez que se hayan realizado los cambios anteriores, debería aparecer un cuadro de diálogo de autenticación al acceder a la URL del administrador.
Si ingresa los detalles que ha proporcionado en
tomcat-users.xml
, debe tener acceso al Administrador.
Para Tomcat v8.5.4 y superior, el archivo
<tomcat>/webapps/manager/META-INF/context.xml
se ha ajustado:
<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" />
</Context>
Cambie este archivo para comentar la
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" />
-->
</Context>
Después de eso, actualice su navegador (no es necesario reiniciar Tomcat), puede ver la página del administrador.
Following two configuration is working for me.
1 .tomcat-users.xml details
--------------------------------
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="tomcat"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="admin" password="admin" roles="admin-gui"/>
<user username="adminscript" password="adminscrip" roles="admin-script"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
<user username="status" password="status" roles="manager-status"/>
<user username="both" password="both" roles="manager-gui,manager-status"/>
<user username="script" password="script" roles="manager-script"/>
<user username="jmx" password="jmx" roles="manager-jmx"/>
2. context.xml of <tomcat>/webapps/manager/META-INF/context.xml and
<tomcat>/webapps/host-manager/META-INF/context.xml
------------------------------------------------------------------------
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow=".*" />
<Manager sessionAttributeValueClassNameFilter="java/.lang/.(?:Boolean|Integer|Long|Number|String)|org/.apache/.catalina/.filters/.CsrfPreventionFilter/$LruCache(?:/$1)?|java/.util/.(?:Linked)?HashMap"/>