Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Is there a way to log requests going through mod proxy? I need a way to debug my configuration, because I don't seem to be getting where I should be. I need the following information:

  • headers of incoming requests
  • what is being sent to the proxy target

Maybe a related question: is there a way to strip some headers? I tried the following:

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

I don't really know whether this is ok, because I don't see anything.

Thank you,
Kariem

share|improve this question
add comment

5 Answers

up vote 1 down vote accepted

Another option might be mod_forensic, can easily log the request and headers etc. Beware of disk space usage though, on a heavy load web-site mod_forensic can easily produce tens of Gigs per day.

http://httpd.apache.org/docs/2.2/mod/mod_log_forensic.html

share|improve this answer
add comment

If you change LogLevel to debug it'll give you more detail about what's going on in the standard Error log.

LogLevel debug

That'll get you plenty of information about what's happening.

share|improve this answer
    
Although I now have quite a bit of additional information on the proxy in the log, the information I would like to see is not there. Using LogFormat, can we somehow get the information I requested? –  Kariem Mar 18 '11 at 13:45
1  
Have a play around with LogFormat, Note that you can use mod_forensic and mod_security to get much more details –  Decado Mar 19 '11 at 9:12
add comment

mod_security can log request body & headers, among other things. Link

share|improve this answer
add comment

I used dumpio. I put the following in /etc/httpd/conf.d/dumpio.conf:

LoadModule dumpio_module modules/mod_dumpio.so

DumpIOInput On
DumpIOOutput On
DumpIOLogLevel debug

LogLevel debug

An often forgotten piece is setting the LogLevel to debug. Without it, you won't actually see any DumpIO output.

The log output is written to the error log for the virtual host and/or the server.

share|improve this answer
    
It turned out pretty helpful for me. Thanks! On Ubuntu I went $ a2enmode dump_io After that I've added lines from the answer to a VirtualHost directive. Checked out the $ tail -f /var/log/apache2/error.log while making requests and got all the info I needed. After you're done with debugging it's better to turn it off by $ a2dismode dump_io and reverting the VirtualHost. Otherwise you'll get very bloated logs. –  uKolka Mar 13 at 1:11
add comment

You can use these logs, but they won't give you exactly what you want :

<VirtualHost yourdomain.com> 
    Customlog yourdomain.com-access.log combined 
    ErrorLog yourdomain.com-error.log
# Your other stuff
</VirtualHost>
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.