Erreur Apache : "Request failed: error reading the head

WRInaute discret
Bonjour,

Après avoir fait la mise à jour de mon serveur dédié (cf. apt-get upgade), j'ai eu peu à peu de multiples retours de bug sur un des forums hébergé dessus. Ce qui m'a étonné (et m'étonne encore), c'est que le bug est totalement aléatoire mais plus courant chez certains que d'autres et parfois même je me demande si le sens du vent ne jouerai pas un peu :)roll:).

Evidemment chez moi ça marche super comme il faut du coup j'ai un peu de mal à faire des tests. Après demandé des screens et le code source des pages, j'ai vu que le forum était en fait "tronqué" au milieu : on a le haut de la page, puis le bas de la page mais entre les deux y a tout une partie du code HTML qui disparait (la coupure se faire au milieu des balises donc c'est pas un problème de php mais bien de apache).


J'ai désactivé la compression (gzip) des pages et ca va un peu mieux mais le bu subsiste encore assez souvent (20 fois par heure d'après les logs en gros au lieu de vraiment beaucoup plus avant).



Je viens donc aux logs. Le message est du type "[Thu Feb 08 01:46:12 2007] [error] [client ***.***.28.48] request failed: error reading the headers, referer: http://exemple.com/index.php"

En cherchant sur google, j'ai juste trouvé ca :
# [error] [client 127.0.0.1] request failed: error reading the headers

This message can be triggered by one of the following protocol errors encountered while reading a request from the client:

* the number of request header fields exceeds the server's limit (400 will be logged in access log)
* the length of a request header field exceeds the server's limit (400 will be logged in access log)
* a request header field is missing a colon separator (400 will be logged in access log)

The exact cause is written in the error message sent to the client, but it is not logged anywhere unless the "error-notes" note for the request is logged via mod_log_config. (This would be rather voluminous and is not recommended except for brief testing periods.) The note can be logged by adding %{error-notes}n to your log format string.

Even without logging the error-notes note, you can consult the access log to see the URL of the request which failed and see what error message was returned to the browser. Look for requests which failed with 400 with the same timestamp as the messages in the error log.

Je pense donc que c'est du à un problème avec la taille du header car je stock pour le forum beaucoup de données en cookies. Seulement je n'arrive pas pour autant à régler le problème. Je peux pas diminuer la taille des cookies, je trouve pas dans les fichiers de configs une option pour augmenter la taille des headers.

Ce qui m'ennuie le plus c'est que je ne comprends pas pourquoi c'est tant que ca aléatoire (la taille du cookie ne change pas d'un F5 à l'autre) et surtout que ca marchait vraiment très bien avant la mise à jour du serveur.




Désolé je suis un peu long mais je voulais oublié aucun élément. Est-ce que quelqu'un veut bien m'aiguiller sur une piste ?
 
WRInaute discret
je pense pas, la page s'affiche immédiatement.
Peut-être que quelqu'un aurait une autre idée ?

ps: c'est apache2
 
WRInaute passionné
Peut être justement une limite coupe très vite la conexion, donc les pages "rapides" passent et celles qui ne le sont pas non. 'fin je vois pas trop pourquoi, mais au cas ou une piste.
 
WRInaute discret
oui c'est une idée mais on a la fin de la page. Le début et la fin, c'est le centre qui est coupé.

J'ai jamais eu de problèmes avec apaches avant, je suis assez perdu a dire vrai :s
 
WRInaute discret
Et pour avoir ces fameuses "error-notes", je dois faire comment ?

"The exact cause is written in the error message sent to the client, but it is not logged anywhere unless the "error-notes" note for the request is logged via mod_log_config. (This would be rather voluminous and is not recommended except for brief testing periods.) The note can be logged by adding %{error-notes}n to your log format string. "

Déjà je comprends pas trop l'anglais puis je me demande si ca marche aussi avec apache2 car j'ai pas le mod "mod_log_config"



EDIT : Finalement après de longues recherche c'est bien un prb de PHP comme tu as dis. (avec un top, j'ai des "php5-cgi <defunct>" zombies). C'est pas encore résolu mais ca progresse.


EDIT2 : le serveur envoyait des ^@^@^@ sans fin dans certains cas mais n'ayant pu déterminé l'origine, j'ai tout réinitialisé :?
 
Discussions similaires
Haut