一、产生原因:
1.使用方向代理是未设置x-forwarded-for头,或者设置x-forwarded-for头的配置语句存放错误导致request.getHeader("x-forwarded-for")为null
2.导致request.getRemoteAddr()为本机地址是因为,设置了nginx反向代理,中间加了一层访问,所以request.getRemoteAddr()为本机地址
二、解决方案:
1.在nginx反向代理配置文件中修改:不应该在server {}下放入,而应该在location / { }下放入,例如:
是正确的
是错误的
随后,service nginx reload重启nginx即可