我有一個web服務器設置gunicorn和nginx和Django。Django獲取IP只返回127.0.0.1
我遠程訪問它,以及與此: 高清testIP(請求): IP_ADDRESS = utils.get_ip(請求)
我只是不斷收到127.0.0.1的IP地址,就像我說的,我遠程訪問它,因此它不應該給本地地址。
我認爲這可能與gunicorn有關,但我想首先查看這裏是否有任何見解。
我有一個web服務器設置gunicorn和nginx和Django。Django獲取IP只返回127.0.0.1
我遠程訪問它,以及與此: 高清testIP(請求): IP_ADDRESS = utils.get_ip(請求)
我只是不斷收到127.0.0.1的IP地址,就像我說的,我遠程訪問它,因此它不應該給本地地址。
我認爲這可能與gunicorn有關,但我想首先查看這裏是否有任何見解。
get_ip()如何工作?
如果nginx是一個反向代理,並且gunicorn是應用程序服務器,它總是從本地機器上獲取來自nginx的請求。
是nginx的發送到應用服務器的真實IP通過nginx的的conf線proxy_set_header X-Real-IP $remote_addr;
所以,你可能需要設置是在我的情況HTTP_X_REAL_IP
,並在您的Django應用程序;對於不同的頭球攻門被或者使用你的新IP頭或集request.META['REMOTE_ADDR']
= request.META['HTTP_X_REAL_IP']
謝謝。那樣做了! – DantheMan 2010-12-22 18:38:17
你如何將nginx連接到gunicorn? – 2010-12-22 18:27:06