我在tomcat部署了个项目,能用localhost访问,但是不能本机IP或127.0.0.1访问 .请知道原因不吝赐教 20
# For example:#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.# 127.0.0.1 localhost
# ::1 localhost
解决方法参考:http://share.iteye.com/blog/1392652
我用他的方法是用netstat -n查看tomcat地址绑定, 没发现是绑定到::1, IPv6.(不知道是怎么看出的,有懂的希望赐教)
查询结果如下
然后就按照上面网址里的方法在tomcat的service.xml中Connector 加上一项
address="0.0.0.0" 如下:
<Connector port="8080" maxHttpHeaderSize="8192" address="0.0.0.0"maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
就可以了,localhost,127.0.0.1,ip地址都可以访问了 展开
首先你出现的问题,不能用127.0.0.1访问Tomcat,那么你所用的Tomcat版本百分之八九十应该是6以下的。因为这个问题的根本原因是Tomcat在启动时,如果检测到系统支持IPV6,那么默认监听的是IPV6地址的端口,导致通过IPV4无法访问。不过在6(含6)以后的版本中这个问题Tomcat已经解决了,不用使用者自己再去设置了。那么目前的解决办法就是你所了解到的那样设置一下参数就好了。
其次,你说查看tomcat地址绑定怎么查看是到IPv4还是IPv6,你用的是netstat -n这个命令,这个执行结果中是看不到Tomcat端口的,要用netstat -a -n这个命令,然后找到你Tomcat的端口,端口前面的内容要是0.0.0.0,就是绑定到IPv4;如果端口前面的内容是[::]:或者有两个冒号的,就是绑定到IPv6的。注意命令netstat -a -n执行前确保Tomcat是启动状态的哦。
我也是看了你的资料,然后网上查了一下,感谢你还有以下的知识分享:
www.cnblogs.com/xiaoluo501395377/archive/2013/08/07/3243576.html
blog.csdn.net/jdfkldjlkjdl/article/details/40053655
另外有关于localhost和127.0.01的区别,可以看看这个:
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
127.0.0.1 localhost
如果不是就改掉
按你的方法改了,现在用什么都连不上了