nginx envía respuesta incompleta

nginx envía respuesta incompleta

Sin reiniciar o modificar la configuración, nginx a veces envía respuestas incompletas. Hoy en día puedo reproducirlo bien, pero todavía no sé qué está mal ni cómo solucionarlo.

Puse un archivo de 5 MB en la ubicación/ruta de alias del sitio que nginx está configurado para usar. No hay php5-fpm, módulos, etc., solo nginx para servir archivos estáticos.

Durante la prueba, no hay ningún otro usuario accediendo al servidor, ni acceso http excepto mis solicitudes de prueba.

La descarga falla y Google Chrome muestra en el registro de tráfico que hubo 2 solicitudes, aunque puse la URL http para la descarga solo UNA VEZ y no hubo ninguna redirección ni otra segunda solicitud iniciada por mí.

El mismo problema también en el access.log del servidor:

PRUEBA1

[14/May/2014:14:06:53 +0200] "GET /dev/test_test.m4v HTTP/1.1" 206 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, como Gecko) Cromo/32.0.1700.107 Safari/537.36"

[14/mayo/2014:14:06:53 +0200] "GET /dev/test_test.m4v HTTP/1.1" 200 130680 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, como Geco) Cromo/32.0.1700.10

[14/May/2014:14:07:15 +0200] "GET /dev/test_test.m4v HTTP/1.1" 206 1 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, como Gecko) Cromo/32.0.1700.107 Safari/537.36"

[14/May/2014:14:07:15 +0200] "GET /dev/test_test.m4v HTTP/1.1" 200 114684 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, como Geco) Cromo/32.0.1700.10

Puedes ver que siempre hay una solicitud con tamaño de respuesta=1 y otra con tamaño mixto, pero >1. Sin embargo, el resultado en el navegador es siempre el mismo. => respuesta rota, descarga fallida.

Para asegurarme de que no esté relacionado con el estado/respuesta 206 de http, lo agrego max_ranges 0;a la configuración y lo vuelvo a intentar -> test2.

PRUEBA2

[14/mayo/2014:14:11:36 +0200] "GET /dev/test_test.m4v HTTP/1.1" 200 152460 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, como Gecko) Cromo/32.0.1700.107 Safari/537.36"

[14/mayo/2014:14:11:38 +0200] "GET /dev/test_test.m4v HTTP/1.1" 200 142296 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, como Gecko) Cromo/32.0.1700.107 Safari/537.36"

Mismo resultado en el navegador. La descarga/solicitud siempre falla y el tamaño en access.log siempre es diferente, como fragmento aleatorio o tamaño de respuesta.

Estado del servidor: iowait, RAM y CPU están casi inactivos. No hay carga alta ni limitación.

¿Es este un problema o error conocido o sabes cómo solucionarlo?

Respuesta1

Con un escenario tan simple como este, estoy bastante seguro de que tiene un firewall, un dispositivo IDS/IPS o algo más frente a su servidor nginx que perturba las descargas. En caso de duda, póngase en contacto con su ISP.

información relacionada