SpringBoot获取不到用户真实IP怎么办

简介: 通过以上方法,你可以在Spring Boot应用中获取用户的真实IP地址。买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云

在Spring Boot中获取用户真实IP的方法如下:

  1. 在Spring Boot的Controller方法中,可以通过 HttpServletRequest对象来获取用户请求信息,包括IP地址。

  2. 在Controller方法的参数列表中添加 HttpServletRequest参数,然后使用以下代码获取用户真实IP:

    @GetMapping("/getRealIP")
    public String getRealIP(HttpServletRequest request) {
        String ipAddress = request.getHeader("X-Forwarded-For");
        if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
            ipAddress = request.getHeader("Proxy-Client-IP");
        }
        if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
            ipAddress = request.getHeader("WL-Proxy-Client-IP");
        }
        if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
            ipAddress = request.getHeader("HTTP_CLIENT_IP");
        }
        if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
            ipAddress = request.getHeader("HTTP_X_FORWARDED_FOR");
        }
        if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
            ipAddress = request.getRemoteAddr();
        }
        return "User's real IP: " + ipAddress;
    }
    
  3. 以上代码通过依次尝试获取常见的代理头信息,从而获取用户的真实IP地址。如果所有的代理头信息都没有提供IP地址,那么就会使用 request.getRemoteAddr()来获取IP地址。

通过以上方法,你可以在Spring Boot应用中获取用户的真实IP地址。

目录
相关文章
springboot 获取访问接口的请求的IP地址
springboot 获取访问接口的请求的IP地址
2638 0
|
Java 应用服务中间件 持续交付
SpringBoot采用Java配置类的方式配置Nacos,动态注册微服务IP
本文是采用Java配置类的方式配置微服务的Nacos服务注册,并动态的配置spring.cloud.discovery.ip属性以打到微服务内网穿透注册至Nacos注册中心。
3701 0
SpringBoot采用Java配置类的方式配置Nacos,动态注册微服务IP
|
1天前
|
安全 Java 应用服务中间件
如何在 Spring Boot 3.3 中实现请求 IP 白名单拦截功能
【8月更文挑战第30天】在构建Web应用时,确保应用的安全性是至关重要的。其中,对访问者的IP地址进行限制是一种常见的安全措施,特别是通过实施IP白名单策略,可以只允许特定的IP地址或IP段访问应用,从而有效防止未授权的访问。在Spring Boot 3.3中,我们可以通过多种方式实现这一功能,下面将详细介绍几种实用的方法。
11 1
|
3月前
|
Java 应用服务中间件 API
springboot+nginx获取真实IP
springboot+nginx获取真实IP
46 4
|
2月前
|
容器
springboot-自定义注解拦截ip aop和ioc
springboot-自定义注解拦截ip aop和ioc
|
4月前
|
XML 存储 Java
百度搜索:蓝易云【springboot增加logback日志记录ip详解】
通过以上步骤,您可以在Spring Boot应用程序中使用Logback记录客户端的IP地址。请根据实际需求和日志记录规则进行适当调整和配置。
83 0
|
前端开发 Java 数据库
SpringBoot获取访问接口设备的ip地址以及设备类型
SpringBoot获取访问接口设备的ip地址以及设备类型
SpringBoot获取访问接口设备的ip地址以及设备类型
|
Java
Springboot集成ip2region离线IP地名映射
Java集成解析IP地址为行政区域
340 0
Springboot集成ip2region离线IP地名映射
|
Java Windows
SpringBoot系列:获取当前登录用户IP
SpringBoot系列:获取当前登录用户IP前言今天博主将为大家分享SpringBoot系列:获取当前登录用户IP,不喜勿喷,如有异议欢迎讨论! 有一个强大的地基才能写出健壮的程序! 活不多说上代码控制器方法: package com.
5494 0
下一篇
云函数