
为什么用IP无法访问网站,域名可以访问
2018-12-22 · 百倍用心 10分满意

〖1〗使用单机拨号,如有使用路由器,请暂时断开路由器测试;
〖2〗重启modem和电脑;
〖3〗重新创建宽带拨号连接,再拨号尝试。操作方法:开始>程序>附件>通迅>新建连接向导。
若自行排障仍然没有恢复,可联系人工客服进行申告故障,将尽快为您处理。
联通服务问卷调查
¥中国联通
话费购
用不完的话费可送存买
¥0元起
话费购
用不完的话费可送存买
¥0元起
话费购
用不完的话费可送存买
¥0元起
查
看
更
多
-
官方服务
- 秒懂联通
- 客户俱乐部
- 行家主页
- 联通知乎
就像IIS,绑定域名或者ip都做了才能让域名和ip来同时访问网站
因为http请求里包含了域名信息,所以用域名访问,虚拟主机服务器会根据域名来返回网站,直接用IP访问因为没有域名信息所以服务器不知道要访问的是哪个网站目录,只有共享IP的虚拟主机或者VPS才有这情况,像有邦定独立IP功能或者独立主机的那些服务器就不会有这问题了 。
如果就想用ip形式访问,可以手动设置Host头域信息。
java中以org.apache.http.client.methods.HttpGet实现http请求为例,解决方法
因为是虚拟主机,主机上放置了N个网站,而每个网站绑定1个或以上域名,所以用域名访问主机可以解析到网站目录,但用IP的话服务器就不知道解析到哪个目录了!
因为http请求里包含了域名信息,所以用域名访问,虚拟主机服务器会根据域名来返回网站,直接用IP访问是因为没有域名信息,所以服务器不知道要访问的是哪个网站目录,只有共享IP的虚拟主机或者VPS才有这情况,像有邦定独立IP功能或者独立主机的服务器就可以直接通过域名和ip都可以访问。
为什么有些网站通过host可以访问而直接输入ip不能?
第一种可能:
假如是一次单纯的http请求,指定host用域名访问,和直接输入ip访问,效果应当是一样的,但仅限于一次请求。现如今,当你打开一个网页,事情会变得复杂很多,网页不光是一个html,还有许多css样式、javascript脚本、其他网页元素(Flash等)需要下载,执行js脚本或Flash插件的时候,还会进行新的网络请求。
html里包含的css、js资源地址,以及js脚本发出的网络请求地址,可能是用域名记录的(而非IP地址)。假如是改host的方式,那么你的系统知道,这个域名对应正确的IP地址,可顺利访问。如果是没有host,输入IP访问,那么对于网页资源、脚本中的域名地址,系统不知道这个域名就是你输入的IP,仍需要通过DNS获取IP地址,DNS有问题的话,就不能正确加载。
墙最早只做DNS劫持、污染,通过域名得不到正确的IP,如果你ping一个网址,实际ping的是假的IP地址,可能是超时无响应,可能是错误的服务器的回应,但你ping它的IP地址,结果是正确的,所以改host有效。后来墙高级了,可以阻拦、劫持你的请求,那么怎么ping都会出问题。值得注意的是,仍有很多网站只有DNS污染,没有针对IP地址的行为(或网站IP地址在不断更新,墙的更新慢一拍),所以改host仍然有效。
第二种可能:
有些网站服务器端程序需要通过你的URL来决定返回的内容(可能一个IP地址上的服务器需要同时提供两个网站的访问),那么你的URL中不包含正确的域名,服务器程序就没办法回应你(不知道你要访问的到底是个啥),只好返回个错误。

广告 您可能关注的内容 |