有vip的服务器获取客户端的ip地址

在真实的项目环境中,往往会在服务器外层加nginx/vip等,导致获取失败.我的程序是加了vip,在网上找到很多,结果都没有成功.但是发现在一个共同的特点,他们都用到了request.getHeader().于是我自己就获取到所有header并打印出来,终于找到了正确的获取方式:request.getHeader("x-forwarded-for"),这种方式在本地测试是不成功的,需要请求有代理的服务器

以后甩锅就更加轻松了,

        Enumeration<String> headerNames =  request.getHeaderNames();
        while(headerNames.hasMoreElements()){
            String headerName = (String)headerNames.nextElement();//调用nextElement方法获得元素
            logger.debug("输出的header,{},{},{}",headerName,request.getHeader(headerName));
        }
        logger.debug(request.getHeader("x-forwarded-for"));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
=============================================================================== 南京工程学院 - 校园网802.1X客户端 - 项目简介 ------------------------------------------------------------------------------- 本项目旨在解决使用Linux操作系统登陆华为802.1X校园网络的问题 兼容iNode V2.40-F0335,支持华为客户端版本号加密认证,支持用户名中存在特殊字符 目前njit-client在以下学校运行良好(感谢网友热心反馈): 南京工程学院、中南财经政法大学、华北电力大学、广东工业大学、长安大学 湖南大学 如果您发现客户端在您学校无法使用,请在我们802.1X客户端开发小组的讨论板留言, http://groups.google.com/group/njit8021xclient?hl=zh-CN 或发送Email到我们的公共邮箱: [email protected] 开发小组成员会及时与您取得联系 [使用方法] 假设您的Linux系统里的普通用户名为liuqun,内网802.1X帐号为s-12345、密码为abcde 一、把可执行文件njit-client和njit-RefreshIP拷贝到用户主目录(假设为/home/liuqun目录). 二、从开始菜单里找到“终端”,打开后进入命令提示符窗口 三、通过命令行切换为root并运行njit-client程序 Ubuntu下命令格式为: sudo ./njit-client s-12345 abcde RedHat/Fedora下命令格式为 su -c "./njit-client s-12345 abcde" 四、程序会输出一些调试信息(因目前仍是测试版本),其中大部分信息不用理会, 只需关注如果包括[*] Server: Success.这样一行提示即为802.1X认证成功 如果提示为Server: Failure则为认证失败,另外还会输出"E????: ",这是服务器 发来的提示信息。 下面是客户端程序运行成功时输出的部分调试信息(测试地点为南京工程学院): [ ] Client: Start. [1] Server: Request Notification! Client: Response Notification. [2] Server: Request Identity! [2] Client: Response Identity. [3] Server: Request MD5-Challenge! [3] Client: Response MD5-Challenge. [4] Server: (H3C data) [4] Server: Success. 《debug_msg from="./njit-RefreshIP" func="__main__"》 Hal Device: /org/freedesktop/Hal/devices/net_00_16_36_52_53_12 net.interface = "eth0" NetworkManager Connection: /org/freedesktop/NetworkManagerSettings/0 connection.id = "System eth0" Activated Connection: /org/freedesktop/NetworkManager/ActiveConnection/7 《/debug_msg》 [1] Server: Request Identity! [1] Client: Response Identity. [5] Server: Request Identity! [5] Client: Response Identity. [1] Server: Request Identity! [1] Client: Response Identity. [6] Server: Request Identity! [6] Client: Response Identity. 五、如果你们学校配置的是动态分配IP地址客户端程序会自动通知操作系统获取IP地址。 但如果学校分配的是静态IP地址,则还需要手动设置。 如果你需要帮助,请联系校园网802.1X客户端开发小组(发送Email至: njit8021xclient@googlegroups
DHCP(动态主机配置协议)是一种网络协议,它可以自动分配IP地址给网络中的设备。通过使用DHCP服务,可以避免手动设置IP地址可能带来的错误,同时也避免了给多个设备分配同一个IP地址所造成的地址冲突问题。 在使用DHCP服务时,需要配置一个DHCP服务器,该服务器负责管理和分配IP地址。当设备连接到网络时,它会向DHCP服务器发送一个请求,请求一个可用的IP地址。DHCP服务器会从预先配置的IP地址池中选择一个可用的地址,并将其分配给设备。这样,设备就可以自动获得一个有效的IP地址,而无需手动设置。 在配置DHCP服务器时,可以设置DHCP中继服务器IP地址,以便在不同的子网之间转发DHCP请求。这样,即使设备所在的子网没有配置DHCP服务器,也可以通过DHCP中继服务器获取IP地址。 此外,DHCP服务器还支持在地址池中排除某些不能通过DHCP机制进行分配的IP地址。例如,如果客户端已经手动配置了一个IP地址,那么DHCP服务器应该将该地址排除在分配范围之外,以避免地址冲突。为了确保分配的IP地址与网络中其他客户端IP地址不冲突,DHCP服务器会在发送DHCP OFFER报文前发送ICMP ECHO REQUEST报文对分配的IP地址进行冲突探测。如果在指定的时间内没有收到应答报文,表示该IP地址可用,并可以分配给客户端;如果在指定时间内收到应答报文,表示该IP地址已被使用,则会将其列为冲突地址,等待重新接收到DHCP DISCOVER报文后重新选择可用的IP地址。 总结起来,DHCP动态分配IP地址是通过DHCP服务器来自动分配和管理IP地址的过程。设备通过DHCP请求获取一个可用的IP地址,而DHCP服务器会从预先配置的地址池中选择一个可用的地址分配给设备。在配置DHCP服务器时,还可以设置DHCP中继服务器IP地址,并排除已经手动配置的地址,以避免地址冲突。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [DHCP自动分配IP](https://blog.csdn.net/unschooledrat/article/details/129031790)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [动态IP分配协议:DHCP](https://blog.csdn.net/qq_43546676/article/details/126822766)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值