2010-01-27 85 views

回答

9

您的Web服務器可能位於負載平衡器後面。你可以嘗試使用request.META ['HTTP_X_FORWARDED_FOR']。

或更好,請看django book, chapter 15 - 什麼是中間件?反向代理支持(X-Forwarded-For Middleware)部分。

+2

請注意,X-Forwarded-For中間件已被棄用/從最近的Django版本中移除,因爲它決定它可能會給開發人員一個錯誤的感覺,即X-Forwarded-For頭可以被實際依賴(它可以' T)。很容易寫出你自己的;只是意識到它很容易被欺騙。 – 2010-01-30 15:29:01

2

如果你在一個代理的後面,運行apache作爲web服務器,你可以使用mod_rpaf。代理只需要發送X-Forwarded-For或X-Real-IP頭。

http://stderr.net/apache/rpaf/

相關問題