He instalado Apache Tomcat en Windows Server 2012 y puedo acceder a él localmente.
Hasta ahora he intentado lo siguiente: - Puerto abierto a través del firewall - Puerto abierto a través de mi servidor en la nube. - desactivé el firewall de Windows - realicé cambios en el archivo server.xml - me comuniqué con el host de mi servidor en la nube, quien confirmó que el puerto 90 está funcionando. - Mi proveedor de alojamiento lo intentó pero tampoco pudo hacerlo funcionar.
He detenido y reiniciado el servicio y ninguno ha funcionado:
A continuación se muestra mi archivo server.xml. Los registros no parecen contener ningún error cuando intento acceder.
http://www.apache.org/licenses/LICENSE-2.0
A menos que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye "TAL CUAL", SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sean expresas o implícitas. Consulte la Licencia para conocer el idioma específico que rige los permisos y limitaciones de la Licencia. --> -->
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"/>
-->
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL HTTP/1.1 Connector on port 8080
-->
<Connector port="9090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
address="0.0.0.0" />
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="9090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
address="0.0.0.0" />
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host).
Documentation at /docs/config/engine.html -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
-->
<Engine name="Catalina" defaultHost="localhost">
<!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) -->
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
<!-- Use the LockOutRealm to prevent attempts to guess user passwords
via a brute-force attack -->
<Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
Cualquier ayuda por favor ya que parece que estoy dando vueltas y vueltas en este momento.
Gracias de antemano juan
Respuesta1
Esto funcionó para mí en Linux. Puede probar esta solución en Windows para acceder a Tomcat de forma remota.
Abra los siguientes dos archivos XML en el editor de texto y comente las siguientes líneas:
1) $CATALINA_HOME/webapps/manager/META-INF/context.xml
2) $CATALINA_HOME/webapps/host-manager/META-INF/context.xml
Comentar:
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
Reinicie su servidor Tomcat y vea si esta solución ayuda.
Respuesta2
Después de muchas horas, parece que mi empresa de hosting no había abierto el puerto de firewall correcto, por ejemplo, abrieron 80 en lugar de 8080.
Las lecciones aprendidas siempre van con tu intuición. Les pregunté antes de colocarlo aquí si estaba abierto pero no lo estaba.
De todos modos, cualquiera que venga aquí en relación con esto, verifique tres veces que los puertos de su firewall estén abiertos.
Espero que ayude a alguien más.
gracias juan