मैं मॉड प्रॉक्सी के माध्यम से जाने वाले अनुरोधों के लिए लॉगिंग कैसे सक्षम कर सकता हूं


14

क्या मॉड प्रॉक्सी के माध्यम से अनुरोधों को लॉग करने का एक तरीका है? मुझे अपने कॉन्फ़िगरेशन को डीबग करने का एक तरीका चाहिए, क्योंकि मुझे लगता नहीं है कि मुझे वह स्थान मिलना चाहिए जहां मुझे होना चाहिए। मुझे निम्नलिखित जानकारी चाहिए:

  • आने वाले अनुरोधों के हेडर
  • प्रॉक्सी लक्ष्य के लिए क्या भेजा जा रहा है

शायद एक संबंधित प्रश्न: कुछ हेडर को पट्टी करने का एक तरीका है? मैंने निम्नलिखित कोशिश की:

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

मैं वास्तव में नहीं जानता कि क्या यह ठीक है, क्योंकि मुझे कुछ भी दिखाई नहीं देता है।


मैं mitmproxyइस तरह की डिबगिंग के लिए उपयोग करूंगा ।
चूजों

जवाबों:


3

एक अन्य विकल्प हो सकता है mod_forensic, आसानी से अनुरोध और हेडर आदि को लॉग कर सकता है। डिस्क स्पेस उपयोग से सावधान रहें, भारी लोड वेब-साइट mod_forensic पर आसानी से प्रति दिन दसियों गीगा उत्पादन कर सकते हैं।

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


10

मैंने डंपियो का इस्तेमाल किया। मैं निम्नलिखित में डाल दिया /etc/httpd/conf.d/dumpio.conf:

LoadModule dumpio_module modules/mod_dumpio.so

DumpIOInput On
DumpIOOutput On
DumpIOLogLevel debug

LogLevel debug

एक अक्सर भूल गया टुकड़ा LogLevel को डीबग करने के लिए सेट कर रहा है। इसके बिना, आप वास्तव में किसी भी डम्पियो आउटपुट को नहीं देखेंगे।

वर्चुअल होस्ट और / या सर्वर के लिए लॉग आउटपुट में लॉग आउटपुट लिखा जाता है।


2
यह मेरे लिए बहुत उपयोगी निकला। धन्यवाद! उबंटू पर मैं गया $ a2enmode dump_ioउसके बाद मैंने एक वर्चुअलाइजेशन निर्देश के उत्तर से लाइनें जोड़ी हैं। $ tail -f /var/log/apache2/error.logअनुरोध करते समय जांच की गई और मुझे आवश्यक सभी जानकारी मिली। डिबगिंग के साथ काम करने के बाद $ a2dismode dump_ioवर्चुअलहॉस्ट द्वारा इसे बंद करना और इसे वापस करना बेहतर है । अन्यथा आप बहुत फूला हुआ लॉग प्राप्त करेंगे।
uKolka

1
निर्देश "DumpIologLevel" अब मौजूद नहीं है। एक को mod_dumpioLogLevel dumpio:trace7 में वर्णित के रूप में सेट करना होगा
डेविड टोनहोफर 21

4

यदि आप LogLevel को डीबग करने के लिए बदलते हैं, तो यह आपको मानक त्रुटि लॉग में क्या हो रहा है, इसके बारे में अधिक विवरण देगा।

LogLevel debug

कि आपको क्या हो रहा है के बारे में जानकारी के बहुत सारे मिल जाएगा।


1
हालाँकि मेरे पास अब लॉग में प्रॉक्सी पर काफी अतिरिक्त जानकारी है, मैं जो जानकारी देखना चाहूंगा वह नहीं है। LogFormat का उपयोग करना, क्या हम किसी तरह से मेरे द्वारा मांगी गई जानकारी प्राप्त कर सकते हैं?
कारीम

1
LogFormat के साथ एक नाटक करें, ध्यान दें कि आप अधिक विवरण प्राप्त करने के लिए mod_forensic और mod_security का उपयोग कर सकते हैं
Decado

Apache 2.4 में LogLevel निर्देश /etc/apache2/apache2.confउबंटू पर है। स्पष्ट लगता है, लेकिन मुझे यह पता लगाने में एक सेकंड लगा।
Shrout1

2

आप proxy:trace5अपने मौजूदा LogLevelनिर्देश के लिए भी अपील कर सकते हैं

अगर आपके पास यह है

LogLevel error 

इसे इसमें बदलें

LogLevel error proxy:trace5

उपयोग के बाद वापस सामान्य में बदलना सुनिश्चित करें। यह बड़ी लॉग फ़ाइलों को तेज़ी से बनाएगा।


यह अपाचे 2.2 के लिए काम नहीं करता है, जिसे इस प्रश्न के रूप में टैग किया गया है।
ब्रायन मिंटन

1

mod_security अन्य चीजों के अलावा, अनुरोध बॉडी और हेडर लॉग कर सकता है। संपर्क


1
सबसे अच्छा अभ्यास एक संक्षिप्त सारांश प्रदान करना है। 2015-08 तक, लिंक मृत लगता है ...
ऋषि

-2

आप इन लॉग का उपयोग कर सकते हैं, लेकिन वे आपको वह नहीं देंगे जो आप चाहते हैं:

<VirtualHost yourdomain.com> 
    Customlog yourdomain.com-access.log combined 
    ErrorLog yourdomain.com-error.log
# Your other stuff
</VirtualHost>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.