描述:
服务端在接收客户端请求的时候,为了保证系统的安全性,一般在服务端需要进行签名认证或者是对客户端ip进行访问控制,那么进行 ip 控制时,我们首先需要获取客户端请求的真实 ip 地址;
情况1:客户端未经过任何代理,直接访问服务器
String ip = request.getRemoteAddr() // 直接获取客户端 ip
情况2:客户端经过多级代理,最终访问服务器
/**
* 获取当前网络ip
* @param request 请求
* @return
*/
public String getIpAddr(HttpServletRequest request){
String ipAddress = request.getHeader("x-forwarded-for");
if(ipAddress == null || ipAddress.length() == 0 ||