Comment puis-je enregistrer l'en-tête et le corps de la réponse dans Apache?

12

Je dois déterminer si le serveur (Apache 2) renvoie ou non le contenu complet d'une page avec son en-tête correct. J'ai un script PHP qui est exécuté avec succès, mais le navigateur n'obtient que la moitié du contenu html, il est simplement coupé.

L'infrastructure client est assez compliquée, utilisant Novell BorderManager Proxys et d'autres choses. Pour m'assurer que le serveur fait bien son travail, je veux enregistrer l'en-tête et le corps de la réponse.

Comment puis-je atteindre cet objectif? J'ai regardé le mod_log_configmodule d'apache (qui est déjà installé et prêt à être utilisé), mais honnêtement, je n'ai pas réussi à le configurer pour sortir l'en-tête et le corps quelque part.

edit: j'ai réussi à enregistrer l'en-tête avec

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{HEADER_NAME}o\"" common2

CustomLog /var/log/apache2/response.log common2

Mais malheureusement, les formats mod_log_config ne prennent pas en charge l'ensemble du corps du contenu.

Mise à jour: j'ai trébuché sur mod_dumpio qui semble faire exactement cela, mais je ne peux pas le faire fonctionner jusqu'à présent :-(

Quelqu'un peut-il aider?

acmé
la source

Réponses:

3

Vous pouvez le faire via mod_security , voir la documentation sur le format de données du journal d'audit .

weeheavy
la source
Merci, mais la documentation indique "Parties du journal d'audit disponibles: [...] G - RÉSERVÉ pour le corps de réponse réel, pas encore implémenté."
Acme
Vous pouvez utiliser Eou Iparce que j'ai lié un ancien document. Le plus récent est ici: modsecurity.org/documentation/modsecurity-apache/2.5.12/…
weeheavy
1
J'ajouté à httpd.conf: SecAuditEngine On SecAuditLog /var/log/apache2/sec.log SecAuditLogParts ABEFGHZ. Je reçois des informations de débogage, donc cela semble fonctionner, mais le corps de la réponse n'est pas affiché.
Acme
le lien d'origine et le dernier lien vers le document ont été rompus, j'ai donc mis un lien vers le dernier.
icc97
4

dans le cas où vous n'obtenez aucun corps de réponse dans vos journaux lorsque vous utilisez " Corps de réponse prévu (E) "; par exemple.:

SecAuditLogParts ABCEFHZ

Assurez-vous d'avoir également activé le moteur de règles:

SecRuleEngine On

et vérifiez vos paramètres pour:

SecRequestBodyAccess On
SecResponseBodyAccess On
Florian
la source