package com.rehome.getremoteipjpa.utils; import jakarta.servlet.http.HttpServletRequest; import org.springframework.boot.autoconfigure.amqp.RabbitConnectionDetails; public class IPUtils { public static RabbitConnectionDetails.Address address; /** * * getRemoteIP:获取远程请求客户端的外网IP
* * @param request * 请求实体对象 * @return ip 外网ip
*/ public static String getRemoteIP(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } return ip; } }