¿Cómo puedo habilitar el registro de solicitudes que pasan por Mod Proxy?

14

¿Hay alguna manera de registrar las solicitudes pasando por el proxy proxy? Necesito una forma de depurar mi configuración, porque parece que no estoy llegando a donde debería estar. Necesito la siguiente información:

  • encabezados de solicitudes entrantes
  • lo que se envía al destino proxy

Tal vez una pregunta relacionada: ¿hay alguna manera de quitar algunos encabezados? Intenté lo siguiente:

ProxyPass         /proxy/other http://not.under.my.control/
<Location /proxy/other>
   ProxyPassReverse /
   RequestHeader unset Authorization
</Location>

Realmente no sé si esto está bien, porque no veo nada.

Kariem
fuente
Lo usaría mitmproxypara este tipo de depuración.
polluelos

Respuestas:

3

Otra opción podría ser mod_forensic, puede registrar fácilmente la solicitud y los encabezados, etc. Sin embargo, tenga cuidado con el uso del espacio en disco, en un sitio web de carga pesada mod_forensic puede producir fácilmente decenas de conciertos por día.

http://httpd.apache.org/docs/2.2/mod/mod_log_forensic.html

HampusLi
fuente
10

Yo solía dumpio. Puse lo siguiente en /etc/httpd/conf.d/dumpio.conf:

LoadModule dumpio_module modules/mod_dumpio.so

DumpIOInput On
DumpIOOutput On
DumpIOLogLevel debug

LogLevel debug

Una pieza a menudo olvidada es configurar LogLevel para depurar. Sin él, en realidad no verá ninguna salida DumpIO.

La salida del registro se escribe en el registro de errores para el host virtual y / o el servidor.

GuyPaddock
fuente
2
Resultó bastante útil para mí. ¡Gracias! En Ubuntu fui $ a2enmode dump_ioDespués de eso, agregué líneas de la respuesta a una directiva VirtualHost. Revisé $ tail -f /var/log/apache2/error.logmientras hacía solicitudes y obtuve toda la información que necesitaba. Una vez que haya terminado con la depuración, es mejor apagarlo $ a2dismode dump_ioy revertir VirtualHost. De lo contrario, obtendrá registros muy hinchados.
uKolka
1
La directiva "DumpIOLogLevel" ya no existe. Uno tiene que configurar LogLevel dumpio:trace7como se describe en mod_dumpio
David Tonhofer
4

Si cambia LogLevel para depurar, le dará más detalles sobre lo que está sucediendo en el registro de errores estándar.

LogLevel debug

Eso le dará mucha información sobre lo que está sucediendo.

Decado
fuente
1
Aunque ahora tengo bastante información adicional sobre el proxy en el registro, la información que me gustaría ver no está allí. Con LogFormat, ¿podemos obtener de alguna manera la información que solicité?
Kariem
1
Juegue con LogFormat, tenga en cuenta que puede usar mod_forensic y mod_security para obtener muchos más detalles
Decado
En apache 2.4, la directiva LogLevel está en /etc/apache2/apache2.confUbuntu. Parece obvio, pero me tomó un segundo darme cuenta.
Shrout1
2

También puede adjuntar proxy:trace5a su LogLeveldirectiva existente

Si tienes esto

LogLevel error 

Cámbialo a esto

LogLevel error proxy:trace5

Asegúrese de cambiarlo a la normalidad después del uso. Esto creará enormes archivos de registro rápidamente.

Yunzen
fuente
Esto no funciona para apache 2.2, que esta pregunta está etiquetada como.
Brian Minton
1

mod_security puede registrar el cuerpo y los encabezados de las solicitudes, entre otras cosas. Enlace

ggiroux
fuente
1
La mejor práctica es proporcionar un resumen conciso. A partir de 2015-08, el enlace parece estar muerto ...
sabio
-2

Puede usar estos registros, pero no le darán exactamente lo que desea:

<VirtualHost yourdomain.com> 
    Customlog yourdomain.com-access.log combined 
    ErrorLog yourdomain.com-error.log
# Your other stuff
</VirtualHost>
Popinou
fuente