2013-09-05 7 views
11

हम इस सेटअप के साथ एक रिवर्स प्रॉक्सी के रूप में Nginx का उपयोग करें:Nginx लॉग में रिवर्स प्रॉक्सी अपस्ट्रीम सर्वर सेवारत अनुरोध को रिकॉर्ड करने के लिए कैसे?

upstream frontends { 
    server 127.0.0.1:8000; 
    server 127.0.0.1:8001; 
    server 127.0.0.1:8002; 
    [...] 
} 

server { 
    location/{ 
    proxy_pass http://frontends; 
    [...] 
    } 
    [...] 
} 

पहुँच लॉग के हिस्से के रूप में, मैं अपस्ट्रीम सर्वर है कि अनुरोध है, जो हमारे मामले में बस जुड़े स्थानीय होस्ट का मतलब है सेवा की है रिकॉर्ड करने के लिए चाहते हैं बंदरगाह।

प्रलेखन में चर (http://wiki.nginx.org/HttpProxyModule#Variables) $ proxy_host और $ proxy_port का उल्लेख करते हैं लेकिन लॉग में वे हमेशा "फ्रंटेंड्स" और "80" मानों के साथ समाप्त होते हैं।

उत्तर

14

उपयोग $upstream_addr और आप मिलता है, उदाहरण के लिए, 127.0.0.1:8000 या unix:/home/my_user/www/my_site/tmp/.unicorn.sock

24

पहले नया प्रवेश प्रारूप

log_format upstreamlog '[$time_local] $remote_addr - $remote_user - $server_name to: $upstream_addr: $request upstream_response_time $upstream_response_time msec $msec request_time $request_time'; 

और उसके बाद के रूप में

access_log /var/log/nginx/access.log upstreamlog; 

log_format accesslog को फिर से परिभाषित जोड़ देगा http को जाता है { } अनुभाग, access_log स्थान के अंदर हो सकता है।

+0

इसके लिए धन्यवाद! अब हमारे पास अनुरोध के समय की एक स्पष्ट तस्वीर है। –

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