nginx: ¿Registrar solicitud / respuesta completa con todos los encabezados?

Pregunta:

Tenemos un servidor de aplicaciones que a veces se cuelga. Sospechamos que se debe a una mala solicitud de un cliente.

¿Puede nginx registrar la solicitud / respuesta completa (como capturas de Fiddler) en archivos, para que podamos ver las solicitudes que se enviaron antes del bloqueo?

(Probablemente necesitemos evitar pcap y ese enfoque y hacerlo todo en nginx)

Si nginx no es la herramienta adecuada para esto, ¿qué podría ser (además de un analizador de red)?

Respuesta:

Para que los visitantes envíen el cuerpo de la solicitud, utilice client_body_in_file_only on; y registre el archivo "temporal" en el que está escrito en los registros agregando var $request_body_file al formato de registro. Los archivos "temporales" se ubicarán en el directorio client_temp de forma predeterminada.

También puede registrar los encabezados de solicitud $http_<header> y enviar encabezados con $sent_http_<header> .

Si tiene el cuerpo de la solicitud y los encabezados, debería poder reproducirlo y obtener la respuesta que tuvo su visitante.

También debería considerarse algo como gor para que pueda reproducir el tráfico en otro entorno en el que pueda dejar que nginx escriba estos archivos temporales sin causar problemas de IO en producción (nginx no los depurará con on valor, por eso no es tan "temporal " en este caso).

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım