का उपयोग करके Django को नहीं भेजा जा रहा है इसलिए मुझे स्थिर मीडिया के लिए nginx के साथ एक सरल सेटअप और लोड संतुलन और टर्ननाडो को django (4 सर्वर चलने) के लिए वेबसर्वर के रूप में लोड किया गया।REMOTE_ADDR nginx और tornado
article.ip = request.META['REMOTE_ADDR']
दूरदराज के पते के रूप में एक्स-वास्तविक आईपी (HTTP_X_REAL_IP) nginx.conf करने के लिए धन्यवाद के माध्यम से भेजा जा रहा है: मेरी समस्या REMOTE_ADDR django के लिए तो मैं एक KeyError हो रही है पर पारित नहीं किया जा रहा है:
location/{
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect false;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://frontends;
}
HTTP के रूप में मेटा कुंजी मैं सिर्फ ऐसा नहीं कर सकते proxy_set_header REMOTE_ADDR $ REMOTE_ADDR के लिए prepended है। यदि मैं कोई रिमोट एडीआर कुंजी नहीं पाता हूं तो मैं एक्स-रीयल-आईपी पढ़ सकता हूं लेकिन अगर कोई स्मार्ट समाधान है तो मैं उत्सुक हूं।
धन्यवाद!
यह कोई सही समाधान है, लेकिन मैं एक Django मिडलवेयर चला कि जोड़ा HTTP_X_REAL_IP REMOTE_ADDR में। – Nixarn
ये कथन आपको मदद करेंगे: proxy_redirect बंद; proxy_set_header एक्स-रीयल-आईपी $ remote_addr; \t \t proxy_set_header एक्स-फॉरवर्डेड- $ proxy_add_x_forwarded_for के लिए; \t \t proxy_set_header एक्स-स्कीम $ योजना; – glarrain