想要从Nginx转发的请求中获取到IP地址,首先需要进行配置。
在Nginx配置文件nginx.con中,设置请求IP,如下
proxy_set_header X-Forwarded-For $remote_addr;
完成配置后,再通过如下代码获取请求的 IP 地址
public String getIpAddress(HttpServletRequest request) {
String ip = request.getHeader("X-Forwarded-For");
if (ip == null || "".equals(ip)) {
// 如果X-Forwarded-For中不存在信息,则直接从RemoteAddr属性中获取IP地址
ip = request.getRemoteAddr();
}
return ip;
}