添加nginx配置文件,解决nginx代理后无法获取客户端真实IP的问题

This commit is contained in:
2018-03-16 13:04:39 +08:00
parent 271934de3c
commit b55b735bb2
9 changed files with 118 additions and 8 deletions

View File

@@ -8,6 +8,7 @@ import com.fjy.spring.service.AdminService;
import com.fjy.spring.service.LogService;
import com.fjy.spring.service.UserService;
import com.fjy.spring.untils.CodingUtil;
import com.fjy.spring.untils.GetIPAddrUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@@ -57,7 +58,9 @@ public class LoginController {
log.setUserid(user.getColuserid());
log.setColtime(dateNowStr);
log.setColheader(request.getHeader("user-agent"));
log.setColip(request.getRemoteAddr());
//解决nginx代理后IP地址获取问题
//log.setColip(request.getRemoteAddr());
log.setColip(GetIPAddrUtil.getIpAddr(request));
logService.addLogRec(log);
return "redirect:" + request.getScheme() + "://" + request.getServerName() + ":"

View File

@@ -2,7 +2,6 @@ package com.fjy.spring.interceptor;
import com.fjy.spring.constant.GlobalConstant;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

View File

@@ -0,0 +1,22 @@
package com.fjy.spring.untils;
import javax.servlet.http.HttpServletRequest;
public class GetIPAddrUtil {
public static String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("X-Real-IP");
if (ip == null || ip.length() == 0 || " unknown ".equalsIgnoreCase(ip)) {
ip = request.getHeader(" Proxy-Client-IP ");
//System.out.println("【Proxy-Client-IP】");
}
if (ip == null || ip.length() == 0 || " unknown ".equalsIgnoreCase(ip)) {
ip = request.getHeader(" WL-Proxy-Client-IP ");
//System.out.println("【WL-Proxy-Client-IP】");
}
if (ip == null || ip.length() == 0 || " unknown ".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
//System.out.println("【unknown】");
}
return ip;
}
}