2010-11-25 2 views
7

हम क्लोजर (जावा) वेब सेवा एप्लिकेशन पर नियंत्रण और लॉग इन करने के लिए एक रिवर्स प्रॉक्सी के रूप में nginx का उपयोग कर रहे हैं।nginx: क्या nginx को रिवर्स प्रॉक्सी के रूप में उपयोग करते समय एक्सेस लॉग में प्रतिक्रिया शीर्षलेख कैप्चर करना संभव है?

हम access_log उत्पन्न करने में सक्षम हैं और nginx का उपयोग करके आने वाले शीर्षलेखों को कैप्चर कर सकते हैं। Log4j के माध्यम से हमारा क्लोजर ऐप लॉग गतिविधि करता है। परेशानी यह है कि हम ऐप द्वारा उत्पन्न प्रविष्टि में access_log में किसी प्रविष्टि से मेल नहीं खा सकते हैं।

ऐप प्रतिक्रिया शीर्षकों के साथ-साथ एक शरीर भेजकर पहुंच का जवाब देता है। हम इन प्रतिक्रिया शीर्षकों को स्वतंत्र रूप से बदल सकते हैं। मेरा प्रारंभिक विचार एक यूयूआईडी उत्पन्न करना था जो प्रत्येक वेब सेवा अनुरोध से मेल खाता है और उत्तर उपयोगकर्ता X-Uuid के भीतर उपयोगकर्ता को वापस भेजता है।

log_format lt-custom '$remote_addr - $remote_user [$time_local] ' 
        '"$request" $status $body_bytes_sent ' 
        '"$http_referer" "$http_user_agent" $request_time $http_x_uuid'; 

यह आने वाले अनुरोधों में हेडर नहीं बल्कि बाहर जाने वाले उत्तर (मैं $http_content_type साथ $http_x_uuid बदल कर भी इस सत्यापित) पर कब्जा कर सकते हैं nginx की तरह लग रही है: मेरा सोचा कि मैं एक कस्टम log_format बनाने के द्वारा इस प्रतिक्रिया पर कब्जा कर सकता था।

तो! क्या कोई तरीका है कि मैं अपने access_log enties और nginx का उपयोग कर आउटगोइंग उत्तर शीर्षलेखों को कैप्चर करके मेरी log4j प्रविष्टियों को जोड़ सकता हूं? क्या कोई बेहतर तरीका है? मुझे अपने यूयूआईडी उत्पन्न करने वाले उपयोगकर्ताओं पर भरोसा नहीं करना पड़ेगा।

बहुत बहुत धन्यवाद!

उत्तर

संबंधित मुद्दे