nginx反向代理之後服務端HTTP_X_FORWARDED_FOR和HTTP_X_REAL_IP獲取不到客戶端ip地址

進過nginx的反向代理之後,我們在服務端獲取$_SERVER['HTTP_X_FORWARDED_FOR']或者$_SERVER['HTTP_X_REAL_IP']時,往往獲取不到客戶端的外網ip地址,此時需要在做反向代理時設置:

location / {

    proxy_pass http://www.abc.com;

    proxy_set_header Host $host; //需加上

    proxy_set_header X-Real-IP $remote_addr; //需加上

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; //需加上

}

 

按照上述方式在反向代理時設置header變量,即可在服務端拿到 HTTP_X_FORWARDED_FOR 和 HTTP_X_REAL_IP;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章