進過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;