后端代码 使用 request.getHeader(x_forwarded_for)获取ip时,如果客户端伪造x_forwarded_for的ip就获取不到真实的ip
怎样保证在后端代码不改动的情况下使得x_forwarded_for为真实的ip呢
在 nginx 配置如下,以下是自己的瞎研究 ,查看多数资料 大部分配置都是加上这样的配置
location ^~ /your-service/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:60000/your-service/;
}
但这样如果不改动后端代码 获取的值还是伪造的ip,修改配置
$remote_addr 获取真实的ip,然后赋值到X-Forwarded-For
测试结果是 代码获取到了真实的ip
如有错误,请多多包含