MCPcopy Create free account
hub / github.com/PlexPt/rocket-pt / getIpAddr

Method getIpAddr

src/main/java/com/rocketpt/server/util/IPUtils.java:27–43  ·  view source on GitHub ↗

获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址; x-real-ip:171.111 x-forwarded-for:171.1.157.11 remote-host:171.111.157.11 使用Nginx等反向代理软件, 则不能通过request.getRemoteAddr()获取IP地址 如果使用了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP地址,X-Forwarded-For中第一个非unknown的有效IP字符串,则为真实IP地址

()

Source from the content-addressed store, hash-verified

25 * 如果使用了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP地址,X-Forwarded-For中第一个非unknown的有效IP字符串,则为真实IP地址
26 */
27 public static String getIpAddr() {
28
29 HttpServletRequest request =
30 ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
31
32
33 //打印头信息
34// Enumeration enums = request.getHeaderNames();
35// while (enums.hasMoreElements()) {
36// String headerName = (String) enums.nextElement();
37// String headerValue = request.getHeader(headerName);
38// log.info(headerName + ":" + headerValue);
39// }
40
41
42 return getIpAddr(request);
43 }
44
45 /**
46 * 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址;

Callers 2

announceMethod · 0.95
registerMethod · 0.95

Calls 2

isUnknownIpMethod · 0.95
errorMethod · 0.45

Tested by

no test coverage detected