因为是虚拟主机。
主机上放置了N个网站,而每个网站绑定1个或以上域名,所以用域名访问主机可以解析到网站目录,但用IP的话服务器就不知道解析到哪个目录了。
如果就想用ip形式访问,可以手动设置Host头域信息。
java中以org.apache.http.client.methods.HttpGet实现http请求为例,解决方法HttpGet httpGet = new HttpGet(url);
httpGet.setHeader(“Host”, ServerHostname);
扩展资料:1、直接使用ip地址访问不了站点的原因
原因就在于该ip地址可能对应着多个web站点,单单依靠ip地址是不知道如何匹配到哪个web站点的。但是通过域名,我们就能够知道具体要访问哪一个HOST。如果使用虚拟主机,直接找到相关virtual HOST即可,如果使用反向代理,那么通过代理找到HOST的实际私网地址也可以。
2、只有一个公网ip如何实现多个WEB站点的访问
有两种办法可以实现,其一是虚拟主机,其二就是反向代理。通过目前来看,虚拟主机的实现方式已然不多,更多的企业或者学校使用的是反向代理技术。
无法访问目标主机的原因有2种情况,解决方法分别如下:
一、情况:局域网在同一个hub下共享文件,或创建游戏,为什么找不到主机。我们通常先ping主机,可以看到无法ping通。
解决方法:
1、进入控制面板设置防火墙开关,在局域网中没有网络攻击关闭就可以了,在联网情况下,还是打开为好,可以阻挡一些网络攻击。
2、在控制面板中我们可以看到系统防火墙功能,如果没有会找到,请切换经典模式。
3、刚刚我们看到无法ping通,那么主机就没有暴露在网络中,所以无法共享文件和游戏主机创建,我们选择关闭防火墙功能。
4、关闭防火墙功能后,主机ip就能正常ping通,主机创建游戏和文件共享对方就能看到了。
二、情况:ping路由器能通,能够上网,但是无法访问局域网其他电脑,PING有时候是请求超时,有时候是全部无法访问目标主机。
解决方法:把设备管理器里面网卡驱动,禁用一下再重启,如果这样还是解决不了的话,再检查一下电脑是否中ARP病毒,可以进行arp攻击检测,需要一定的时间。当它检测到的时候,他就关闭局域网并关闭ping。
找两台不甚重要的计算机,或者找两台其他电脑过来,或者准备做系统的电脑。 都关闭他们的防arp攻击,看看情况如何。有时候,当我们在ping一个网址的时候,可能会出现请求超时或者是提示无法访问目标主机的现象,这个时候我们不用紧张,只要排查故障进行解决就好。
应该是服务器设置的问题。服务器如果是独立IP,则域名和IP都能访问,但如果服务器是共享IP,因为服务器上放置了多个站点,所以IP不能访问,电脑也不知道你要访问的具体是哪一个网站。而域名却能具有指定性。域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。域名是一个IP地址上有“面具” 。一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等)。域名作为力所能及难忘的互联网参与者的名称,世界上第一个注册的域名是在1985年1月注册的。
网络之间互连的协议(IP)是Internet Protocol的外语缩写,[1] 中文缩写为“网协”.
网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP地址具有唯一性,根据用户性质的不同,可以分为5类。另外,IP还有进入防护,知识产权,指针寄存器等含义。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)