Come posso abilitare la registrazione per le richieste che passano attraverso il proxy mod


14

C'è un modo per registrare le richieste che passano attraverso il proxy mod? Ho bisogno di un modo per eseguire il debug della mia configurazione, perché non mi sembra di arrivare dove dovrei essere. Ho bisogno delle seguenti informazioni:

  • intestazioni delle richieste in arrivo
  • cosa viene inviato alla destinazione proxy

Forse una domanda correlata: c'è un modo per eliminare alcune intestazioni? Ho provato quanto segue:

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

Non so davvero se va bene, perché non vedo nulla.


Vorrei utilizzare mitmproxyper questo tipo di debug.
pulcini,

Risposte:



10

Ho usato dumpio. Ho inserito quanto segue /etc/httpd/conf.d/dumpio.conf:

LoadModule dumpio_module modules/mod_dumpio.so

DumpIOInput On
DumpIOOutput On
DumpIOLogLevel debug

LogLevel debug

Un pezzo spesso dimenticato sta impostando LogLevel su debug. Senza di essa, non vedrai alcun output DumpIO.

L'output del log viene scritto nel log degli errori per l'host virtuale e / o il server.


2
Si è rivelato molto utile per me. Grazie! Su Ubuntu sono andato $ a2enmode dump_iodopo che ho aggiunto le righe dalla risposta a una direttiva VirtualHost. Check-out i $ tail -f /var/log/apache2/error.logpur rendendo richieste ed ha ottenuto tutte le informazioni di cui avevo bisogno. Dopo aver terminato il debug è meglio disattivarlo $ a2dismode dump_ioe ripristinare VirtualHost. Altrimenti otterrai registri molto gonfiati.
uKolka

1
La direttiva "DumpIOLogLevel" non esiste più. Bisogna impostare LogLevel dumpio:trace7come descritto in mod_dumpio
David Tonhofer,

4

Se si modifica LogLevel per eseguire il debug, verranno forniti ulteriori dettagli su ciò che accade nel registro degli errori standard.

LogLevel debug

Questo ti fornirà molte informazioni su ciò che sta accadendo.


1
Anche se ora ho un po 'di informazioni aggiuntive sul proxy nel registro, le informazioni che vorrei vedere non sono lì. Usando LogFormat, possiamo in qualche modo ottenere le informazioni che ho richiesto?
Kariem,

1
Divertiti con LogFormat, nota che puoi usare mod_forensic e mod_security per ottenere molti più dettagli
Decado

In apache 2.4 la direttiva LogLevel è /etc/apache2/apache2.confsu Ubuntu. Sembra ovvio ma mi ci è voluto un secondo per capirlo.
Shrout1

2

È inoltre possibile aggiungere proxy:trace5alla LogLeveldirettiva esistente

Se hai questo

LogLevel error 

Modificalo in questo

LogLevel error proxy:trace5

Assicurati di riportarlo alla normalità dopo l'uso. Ciò creerà rapidamente file di registro di grandi dimensioni.


Questo non funziona per Apache 2.2, che questa domanda è taggata come.
Brian Minton,

1

mod_security può registrare il corpo e le intestazioni della richiesta, tra le altre cose. collegamento


1
La migliore pratica è fornire un riassunto conciso. A partire dal 2015-08, il collegamento sembra morto ...
saggio

-2

Puoi usare questi registri, ma non ti daranno esattamente quello che vuoi:

<VirtualHost yourdomain.com> 
    Customlog yourdomain.com-access.log combined 
    ErrorLog yourdomain.com-error.log
# Your other stuff
</VirtualHost>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.