Esto es todo lo que he llegado a entender acerca de este error en los últimos 2 años:
upstream sent too big header while reading response header from upstream
es de forma genérica nginx de decir "No me gusta lo que estoy viendo"
- su hilo servidor en sentido ascendente se estrelló
- El servidor envió una cabecera de aguas arriba no válido volver
- El Aviso/advertencias enviadas desde STDERR rompieron su tampón a nd it y STDOUT estaban cerrados
3: Mire los registros de errores que se encuentran arriba del mensaje, ¿está transmitiendo con líneas registradas que preceden al mensaje? PHP message: PHP Notice: Undefined index:
Fragmentos de ejemplo de un bucle de mi archivo de registro:
2015/11/23 10:30:02 [error] 32451#0: *580927 FastCGI sent in stderr: "PHP message: PHP Notice: Undefined index: Firstname in /srv/www/classes/data_convert.php on line 1090
PHP message: PHP Notice: Undefined index: Lastname in /srv/www/classes/data_convert.php on line 1090
... // 20 lines of same
PHP message: PHP Notice: Undefined index: Firstname in /srv/www/classes/data_convert.php on line 1090
PHP message: PHP Notice: Undefined index: Lastname in /srv/www/classes/data_convert.php on line 1090
PHP message: PHP Notice:
2015/11/23 10:30:02 [error] 32451#0: *580927 FastCGI sent in stderr: "ta_convert.php on line 1090
PHP message: PHP Notice: Undefined index: Firstname
se puede ver en la línea de tercera (de los 20 errores anteriores) fue alcanzado el límite de búfer, se rompió, y el siguiente hilo escribió en sobre ella. Nginx luego cerró la conexión y devolvió 502 al cliente.
2: registre todos los encabezados enviados por solicitud, revíselos y asegúrese de que se ajusten a las normas (nginx no permite nada más de 24 horas eliminar/expirar una cookie, enviando contenido inválido porque los mensajes de error se almacenaron antes el contenido cuenta ...)
ejemplos incluyen:
<?php
//expire cookie
setcookie ('bookmark', '', strtotime('2012-01-01 00:00:00'));
// nginx will refuse this header response, too far past to accept
....
?>
y esto:
<?php
header('Content-type: image/jpg');
?>
<?php //a space was injected into the output above this line
header('Content-length: ' . filesize('image.jpg'));
echo file_get_contents('image.jpg');
// error! the response is now 1-byte longer than header!!
?>
1: verificar, o hacer un registro de la escritura, para asegurar el hilo está alcanzando el punto final correcta y no salir antes de su finalización .
+1 Esta debería ser la respuesta aceptada. –