2010-06-10 21 views
34

Estoy ejecutando Tomcat en modo independiente. La parte "independiente" es muy importante: estoy no va a instalar Apache frente a Tomcat.Java/Tomcat independiente, cómo iniciar sesión/acceder a todas las solicitudes HTTP GET

En mi pregunta aquí, sobre cómo implementar un "insecto de la tela", me dieron una gran respuesta: Java webapp: how to implement a web bug (1x1 pixel)?

Sin embargo los estados respuesta:

En sus registros de acceso, puede contar para su jpg - la salida debe ser"

127.0.0.1 - - [10/Jun/2010: 11: 38: 53 0530] "GET /mywebapp/jsp/invisible.jpg?1276150133362 HTTP/1.1" 200 991

Pero, como temía, no puedo encontrar tales registros.

... $ cat apache-tomcat-6.0.26/logs/* | grep GET | wc -l

Hay una gran cantidad de registros. Los registros personalizados de mi webapp definitivamente están registrados.

así que tengo un par de preguntas relacionadas:

  • significa "Tomcat autónomo" registro de cada petición HTTP GET por defecto?

  • En caso afirmativo, ¿dónde se registran todas las solicitudes HTTP GET de forma predeterminada? (¿cómo podría haberlos encontrado a sí mismos?)

  • Si no, ¿se puede configurar "Tomcat autónomo" para registrar cada solicitud HTTP GET?

Tenga en cuenta que yo sé que en mi caso puedo añadir registro personalizado junto con mi web bug .jsp y la búsqueda de que en los registros, pero ese no es mi pregunta aquí.

Mi pregunta aquí es realmente acerca de cómo Tomcat autónomo (una vez más, la versión autónoma es muy importante) se ocupa de la tala de todas las peticiones GET HTTP.

+0

por cierto, cuál es la razón de ejecutarlo independiente? ¿es una prueba de rendimiento o algo así? –

+0

@splix: no, estoy operando el rendimiento (para la prestación de archivos estáticos) para la seguridad. La razón es que "Apache Apache" no tiene un muy buen historial de seguridad ** en comparación con Tomcat **. Probablemente porque está escrito en C, lo que explica todos los problemas de seguridad relacionados con el desbordamiento/desbordamiento del búfer. No quiero tener que perder el tiempo parcheando Apache;) "Tomcat no tiene ningún caso documentado de explotación de seguridad real" http://wiki.apache.org/tomcat/FAQ/Security Difícilmente se puede decir lo mismo de Apache. Tomcat independiente hace el trabajo * muy * muy bien para lo que necesitamos. – NoozNooz42

+0

@splix: como Tomcat está escrito en Java, es inmune al desbordamiento/desbordamiento del búfer, lo que elimina * muchos * de los ataques de seguridad típicos.¿Sabía que uno de los autores de varios conectores Apache/Tomcat fue un gran defensor de ejecutar Tomcat en modo independiente? :) Lo sé, lo sé, al hacer * this * y * that * con Apache al frente, será más seguro ... Hasta que venga el próximo buffer overrun/overflow du-jour y necesite parchear Apache;) – NoozNooz42

Respuesta

55

No registra las solicitudes por defecto, pero lo hará si se elimina el comentario de esta válvula en conf/server.xml:

<Valve className="org.apache.catalina.valves.AccessLogValve" 
    directory="logs" prefix="localhost_access_log." suffix=".txt" 
    pattern="common" resolveHosts="false"/> 
+6

Ha, me gana la misma respuesta en 30 segundos. :-) – Greg

+0

Gracias Richard y Greg, trabajando a la perfección ... Y te juro que * sí * leí todo * server.xml * pero hay tantas cosas allí :) – NoozNooz42

+0

Me guardaste una hora.Muchas gracias . Genious. –

Cuestiones relacionadas