Bu yüzden nginx ile statik medya ve django için web sunucusu olarak yük dengeleme ve tornado ile basit bir kurulum yaptım (4 sunucu çalışıyor). Uzaktan adres X-Gerçek IP (HTTP_X_REAL_IP) nginx.conf sayesinde olarak gönderilen oluyorREMOTE_ADDR nginx & tornado kullanarak Django'ya gönderilmiyor
article.ip = request.META['REMOTE_ADDR']
: Benim sorunum REMOTE_ADDR yüzden bir KeyError alıyorum django aktarılır almıyor: HTTP gibi
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;
}
sadece proxy_set_header REMOTE_ADDR $ REMOTE_ADDR yapamaz META tuşu başına eklenir. Yapabileceğim şey, uzak bir addr anahtarının bulunmaması durumunda X-Real-IP'yi okumaktır, ancak daha akıllı bir çözüm varsa merak ediyorum.
Teşekkürler!
Hiçbir doğru çözüm, ama döndü bir Django ortakatmanını ekledi:
ile çalıştı HTTP_X_REAL_IP REMOTE_ADDR'ye. – NixarnBu ifadeler size yardımcı olacaktır: proxy_redirect off; proxy_set_header X-Real-IP $ remote_addr; \t \t proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; \t \t proxy_set_header X-Scheme $ scheme; – glarrain