用ip地址可以访问,用域名却不能访问应该怎么解决?

用ip地址可以访问,用域名却不能访问应该怎么解决?,第1张

展开全部

因为是虚拟主机,主机上放置了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仍然有效。

只要知道别人的阿里云服务器的IP、端口、用户名和密码,然后如果对方没有限制登录IP的话,你就可以访问别人的阿里云服务器了。如果对方用IP开通网页或者FTP端口的话,一般在浏览器输入IP也可以直接访问到的。服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。

1、以使用360安全浏览器软件为例,双击电脑桌面上的浏览器应用程序图标;

2、在打开的浏览器软件中,点击顶部地址栏,输入要访问的对应网站IP地址;

3、这里以输入百度网址大全网站的IP地址为例,直接输入11975217219;

4、最后,按下回车键,即可成功打开所要访问的网站。

如图中所示,R1和R2模拟成两台服务器并且提供相同的服务(地址分别为1721611 ,1721612),R3是交换机,R4是边界路由器也就是内部服务器的网关所在路由器(内网口地址为172161254 ),R5充当公网并且有环回口5555,在R4上的E0/0(地址为2222222221) 接口开启PAT,使得内网服务器可以访问外网R5的 5555

如图:

这时就进入关键性阶段了,1:写一条ACL来匹配公网路由,access-list 2 permit 2222222221

2:定义一个以内部服务器为地址的池:ip nat pool ccna 1721611 1721612 netmask 2552552550 type rotary (最后这两个一定要有意思就是让这些地址轮循)

3:将ACL跟地址池关连起来:ip nat inside destination (注意这个不是source) list 2 pool ccna

最后就是在R1,R2的line vty 0 4 下打no login 允许外网的登陆。

这时可以检验结果了,,在R5上telnet 2222222221 可以发现第一次时进入R1,第二次就进入R2了,

这 样就达到了两个服务器的负载均衡了。。当然这种情况是在多个服务器提供相同的服务的前提下才好用。

但是对于内部有多台服务器要同时开放一个相同的端口但是又只有一个公网IP时该怎么办呢?

图中标出了拓扑的详细结构,服务器地址分别为1721612 和1721613 ,网关为1721611 ,然后同样的跟上边一个实验一样,在边界路由器做基于接口的PAT转换,使得服务器可以访问公网,然后我们就开始在边界路由器上配置端口跟ip地址的映射,通常情况下我们都认为映射是这样写: ip nat inside source static tcp 1721612 80 2222222221 80 然后会发现下一台服务器没法再做相同端口的映射了,,因此我们就必需改变上面的命令来使得另一台服务器也可以基于80端口的映射:这进命令就可以改成:ip nat inside source static tcp 1721612 80 2222222221 100 与

ip nat inside source static tcp 1721613 80 2222222221 101 这样的两条映射。。那么这样写的映射是否真的可行呢?那就让我们一起来检验下成果,首先必需在两台服务器上面的HTTP上面写上一些内容以做为区分。。

最后就是在最右边的PC上边打开WEB页面,输入地址:2222222221:100 就会看到这个现象,,

说明我们己经可以访问内部的一台服务器了。

然后再输入:2222222221:101 可以看到有

仔细看地址下面的字母两次登陆时结果是不一样的。。。这就说明我们可以利用这一个公网IP来映射多个内网的服务器了。。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 用ip地址可以访问,用域名却不能访问应该怎么解决?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情