HAProxy के साथ पूरे POST निकाय में प्रवेश करना?


12

मैं कुछ समस्याओं को ट्रैक करने की कोशिश कर रहा हूं जिस तरह से एक जावास्क्रिप्ट क्लाइंट एक एप्लिकेशन सर्वर के साथ बातचीत कर रहा है और पूरे http पेलोड (हेडर, बॉडी, और सब कुछ) को देखना चाहता है जो आगे और पीछे पारित हो रहा है।

ऐसा होता है कि एप्लिकेशन सर्वर के सामने पहले से ही एक हाइपर प्रॉक्सी सर्वर है, इसलिए मैं संबंधित लॉग्स प्रदान करने के लिए हाइप्रोक्स का उपयोग करने में सक्षम होने की उम्मीद कर रहा था। जाहिर है कि उत्पादन को चालू करना बुरा होगा, लेकिन मेरे पास पूरे वातावरण का एक क्लोन है जिसे मैं इस डीबगिंग के दौरान अलग-थलग कर सकता हूं।

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

जवाबों:


3

Haproxy में POST सामग्री या HTTP निकायों को लॉग करने की सुविधा नहीं है।

इसके बजाय विरेचक का उपयोग करें।


धन्यवाद। मैंने क्रोम के डेवलपर टूल में POST को देखने में सक्षम होने का अंत किया।
पीटर ग्रूव्स

यह अब मामला ही नहीं है। नीचे hack_on की पोस्ट देखें।
पीएमवी

18

संस्करण 1.6.0 (अक्टूबर 2015) के बाद से अब आप कर सकते हैं। एक नया निर्देश है:

option http-buffer-request

आप शरीर को HAProxy एक्सेस देने के लिए फ्रंट-एंड या बैक-एंड में शामिल करते हैं। और आप इसे एक्सेस करने के लिए req.body का उपयोग करते हैं। यहाँ उस विन्यास का सारांश दिया गया है जिसका मैंने उपयोग किया है:

global
        log     127.0.0.1 local0
        debug
        maxconn 2048
        ulimit-n 8012
#        ...

defaults
    mode http
    option httplog
    log-format frontend:%f/%H/%fi:%fp\ GMT:%T\  body:%[capture.req.hdr(0)]\ request:%r
    option dontlognull
#   ...

frontend www-http
   log global
   option http-buffer-request
# id=0 to store body for logging
   declare capture request len 40000
   bind 7.7.7.7:8007 
   http-request capture req.body id 0

   default_backend www-backend

backend www-backend
    mode http
    option forwardfor
#   ...

नमस्ते, क्या इस req.body को एक अलग फ़ाइल में लॉग इन करने का एक तरीका है और एक ही डिफ़ॉल्ट haproxy.log नहीं है?
शोएब खान

नमस्ते। एक लॉग फ़ाइल में अनुरोध और प्रतिक्रिया निकाय कैसे लॉग करें?
यूरी टाइगिएव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.