因为是虚拟主机。
主机上放置了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站点的访问
有两种办法可以实现,其一是虚拟主机,其二就是反向代理。通过目前来看,虚拟主机的实现方式已然不多,更多的企业或者学校使用的是反向代理技术。
1、首先检查设置的端口映射是否正确映射到内网的服务器,即设置的转发规则中的IP地址是否为服务器的IP地址2、无法访问内网的服务器,请检查服务器是否开启,可以在局域网内使用其他的计算机访问服务器,确认服务器是否开启,并能成功访问
3、检查是否映射了服务器所需的所有端口,有可能没有完全设置访问服务器所需的端口,导致访问失败,可以通过开启“DMZ主机”来检测,若开启DMZ主机后,能正常访问服务器,则可能是端口添加不完全
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)