Comment puis-je activer la journalisation des demandes passant par le proxy mod


14

Existe-t-il un moyen de consigner les demandes via le proxy mod? J'ai besoin d'un moyen de déboguer ma configuration, car je ne semble pas arriver là où je devrais être. J'ai besoin des informations suivantes:

  • en-têtes des demandes entrantes
  • ce qui est envoyé à la cible proxy

Peut-être une question connexe: existe-t-il un moyen de supprimer certains en-têtes? J'ai essayé ce qui suit:

ProxyPass         /proxy/other http://not.under.my.control/
<Location /proxy/other>
   ProxyPassReverse /
   RequestHeader unset Authorization
</Location>

Je ne sais pas vraiment si ça va, parce que je ne vois rien.


J'utiliserais mitmproxypour ce genre de débogage.
poussins

Réponses:



10

J'ai utilisé du dumpio. Je mets ce qui suit dans /etc/httpd/conf.d/dumpio.conf:

LoadModule dumpio_module modules/mod_dumpio.so

DumpIOInput On
DumpIOOutput On
DumpIOLogLevel debug

LogLevel debug

Une pièce souvent oubliée définit le LogLevel pour le débogage. Sans cela, vous ne verrez aucune sortie DumpIO.

La sortie du journal est écrite dans le journal des erreurs de l'hôte virtuel et / ou du serveur.


2
Cela s'est avéré très utile pour moi. Merci! Sur Ubuntu, je suis allé $ a2enmode dump_ioaprès que j'ai ajouté des lignes de la réponse à une directive VirtualHost. $ tail -f /var/log/apache2/error.logJ'ai vérifié le tout en faisant des demandes et j'ai obtenu toutes les informations dont j'avais besoin. Une fois le débogage terminé, il est préférable de le désactiver $ a2dismode dump_ioet de rétablir le VirtualHost. Sinon, vous obtiendrez des journaux très gonflés.
uKolka

1
La directive "DumpIOLogLevel" n'existe plus. Il faut régler LogLevel dumpio:trace7comme décrit dans mod_dumpio
David Tonhofer

4

Si vous changez LogLevel pour déboguer, cela vous donnera plus de détails sur ce qui se passe dans le journal des erreurs standard.

LogLevel debug

Cela vous donnera beaucoup d'informations sur ce qui se passe.


1
Bien que j'ai maintenant un peu d'informations supplémentaires sur le proxy dans le journal, les informations que j'aimerais voir ne sont pas là. En utilisant LogFormat, pouvons-nous en quelque sorte obtenir les informations que j'ai demandées?
Kariem

1
Jouez avec LogFormat, notez que vous pouvez utiliser mod_forensic et mod_security pour obtenir beaucoup plus de détails
Decado

Dans apache 2.4, la directive LogLevel est /etc/apache2/apache2.confsur Ubuntu. Cela semble évident, mais il m'a fallu une seconde pour le comprendre.
Shrout1

2

Vous pouvez également ajouter proxy:trace5à votre LogLeveldirective existante

Si vous en avez

LogLevel error 

Changez-le en ceci

LogLevel error proxy:trace5

Assurez-vous de revenir à la normale après utilisation. Cela créera rapidement d'énormes fichiers journaux.


Cela ne fonctionne pas pour apache 2.2, cette question est étiquetée comme.
Brian Minton

1

mod_security peut enregistrer le corps et les en-têtes des requêtes, entre autres. Lien


1
La meilleure pratique consiste à fournir un résumé concis. Depuis 2015-08, le lien semble mort ...
sage

-2

Vous pouvez utiliser ces journaux, mais ils ne vous donneront pas exactement ce que vous voulez:

<VirtualHost yourdomain.com> 
    Customlog yourdomain.com-access.log combined 
    ErrorLog yourdomain.com-error.log
# Your other stuff
</VirtualHost>
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.