jsp获取ip使用request.getRemoteAddr返回0:0:0:0:0:0:0:1
JAVA Web开发过程中,很多场景下需要获取访问终端的IP,对应方法getRemoteAddr。例如调试过程中本地回环ip地址是127.0.0.1,忽然有一天返回
0:0:0:0:0:0:0:1,这个是IPv6地址,是不是会让人蒙圈。当前互联网环境下仍以ipv4为主,大家习惯接受的ipv4地址。
具体原因是因为开发者使用了高版本的操作系统,Win7/Win10等启用了ipv6,大家需要手工禁止,或者通过参数控制。
常用方法
方法1:修改server.xml
<Connector port="8083" protocol="org.apache.coyote.http11.Http11NioProtocol" address="0.0.0.0"
connectionTimeout="20000"
redirectPort="8443" />
其中address="0.0.0.0"为后添加部分
方法2(没详细验证): windows
netsh interface teredo set state disabled
netsh interface ipv6 6to4 set state state=disabled undoonstop=disabled
netsh interface ipv6 isatap set state state=disabled netsh interface IPV6 set global randomizeidentifier=disabled
netsh interface IPV6 set privacy state=disable
netsh interface ipv6 6to4 set state state=disabled
netsh interface ipv6 isatap set state state=disabled
netsh interface ipv6 set teredo=disabled
方法3:
在jvm命令行添加以下参数
-Djava.net.preferIPv4Stack=true
linux下禁用ipv6的方法
打开配置文件/etc/sysctl.d/99-sysctl.conf,在下面添加
net.ipv6.conf.all.disable_ipv6 =
net.ipv6.conf.default.disable_ipv6 =
net.ipv6.conf.lo.disable_ipv6 =
执行 sysctl -p 使配置生效
查看是否生效
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
返回结果如果是1表示禁用
jsp获取ip使用request.getRemoteAddr返回0:0:0:0:0:0:0:1的更多相关文章
- Java获取IP地址:request.getRemoteAddr()注意
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户 ...
- .net获取IP和MAC地址
获取IP 解决request.UserHostAddress取不到真实IP private string GetClientIP() { string result = HttpConte ...
- ASP.NET获取IP的6种方法
服务端: //方法一 HttpContext.Current.Request.UserHostAddress; //方法二 HttpContext.Current.Request.ServerVari ...
- 利用Java获取ip地址
方法1 public static String getIp2(HttpServletRequest request) { String ip = request.getHeader("X- ...
- get_client_ip() 获取IP地址
get_client_ip()获取ip地址,在开启IPv6协议的主机上会全部返回0.0.0.0原因是他会把ipv6地址认为是非法地址而转换成0.0.0.0,而ipv4地址在ipv6主机上用get_cl ...
- C#获取IP和主机名
System.Net.IPAddress addr; //获取IP addr = new System.Net.IPAddress ( Dns.GetHostByName ( Dns.GetHostN ...
- django获取ip与数据重复性判定
获取ip if request.META.has_key('HTTP_X_FORWARDED_FOR'): ip_c = request.META['HTTP_X_FORWARDED_FOR'] el ...
- 解决request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1这个小问题
症状: Windows操作系统,eclipse开发环境下,在本机上使用http://localhost:8080/...访问本机上的页面,使用tomcat作为服务器 在Servlet或者Action中 ...
- request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法
问题: 在近期开发的javaweb项目中,需要记录登录时的电脑ip地址和主机名,通过request.getRemoteAddr()和request.getRemoteHost()得到的值都是0:0:0 ...
随机推荐
- C# DataTable使用方法详解--删除表数据
在项目中常常常使用到DataTable,假设DataTable使用得当,不仅能使程序简洁有用,并且可以提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结. 1.添加引用 1 u ...
- [PHP]PHP页面静态化:真静态的两种方案
---------------------------------------------------------------------------------------------- /*|-- ...
- PHP搜索中的sql注入
----------------------------------------------------------------------------------------- 防止查询的sql攻击 ...
- Hadoop分布式HA的安装部署
Hadoop分布式HA的安装部署 前言 单机版的Hadoop环境只有一个namenode,一般namenode出现问题,整个系统也就无法使用,所以高可用主要指的是namenode的高可用,即存在两个n ...
- CodeForces-1132C-Painting the Fence-(前缀和)
You have a long fence which consists of nn sections. Unfortunately, it is not painted, so you decide ...
- padding-bottom图片自适应
今天学了慕课网的去哪了视频轮播图的图片自适应是这么做的htm,cssl如下:为什么padding-bottom 取值62.08% 呢,因为图片的高为465px,宽为749px. 465/749 既为6 ...
- ArrayList集合类
⦁ 集合概述A:我们学习的是面向对象编程语言,而面向对象编程语言对事物的描述都是通过对象来体现的. 为了方便对多个对象进行操作,我们就必须对这多个对象进行存储,而要想对多个对象进行存储, 就不能是一个 ...
- STL:unordered_set/unordered_multiset(c++11)
unordered_set:容器内的元素无序排列,基于值进行获取单个元素速度非常快.内部根据它们的 hash value 被组织成 buckets(slot). unordered_multiset: ...
- vm 克隆一台新机器启动网卡报错:device eth0 does not seem to be present, delaying initialization
解决方案: 1. vi /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-eth0的配置文件里保存了以前的MAC地址,就把这一行删除掉在重启网卡 2. ...
- CentOS 端口映射
一个合作单位给我创建了十几台虚拟服务器做支撑.但是只给负载均衡绑定了公网IP.由于这个支撑的服务需要测试和调优,经常要往服务器上传class或者修改数据库.为了方便操作,我打算在负载均衡服务器上做端口 ...