nginx反向代理request.getHeader("x-forwarded-for")为null,且request.getRemoteAddr()为本机地址

一、产生原因:

1.使用方向代理是未设置x-forwarded-for头,或者设置x-forwarded-for头的配置语句存放错误导致request.getHeader("x-forwarded-for")为null

2.导致request.getRemoteAddr()为本机地址是因为,设置了nginx反向代理,中间加了一层访问,所以request.getRemoteAddr()为本机地址

二、解决方案:

1.在nginx反向代理配置文件中修改:不应该在server {}下放入,而应该在location / {      }下放入,例如:

nginx反向代理request.getHeader(

是正确的

nginx反向代理request.getHeader(

是错误的

随后,service nginx reload重启nginx即可

你可能感兴趣的:(nginx)