欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

HOSTS绑定域名和IP,但是访问IP和域名,出来的内容不一样

程序员文章站 2022-03-17 15:50:03
...
HOSTS 文件是这样绑定的
119.57.113.31 cloudtest.cnfol.com

访问IP出现的是这样的内容


输出域名又是这样的结果



我是这样理解的,输入域名,操作系统首先会去找HOSTS文件,然后映射为IP地址。

所以访问IP和域名应该是一模一样的结果。

GOOGLE一下,没有找到想要的答案!!

一台主机上可能有多个网站,所以访问IP可能访问不了,访问域名才访问得了。这个我明白。

关键这是绑定在HOSTS上啊。想不通啊。

求解释!!!

回复讨论(解决方案)

如果你一个ip绑定多个域名的话,那访问ip又该去哪个域名呢,所以你访问ip不一定能访问你的绑定的域名

你访问ip,就相当于在本机访问localhost,默认指向你的apache里的DocumentRoot这里的指向,而不是你的域名

我是这样理解的,输入域名,操作系统首先会去找HOSTS文件,然后映射为IP地址。
你这个理解没错

所以访问IP和域名应该是一模一样的结果。
几乎是等效的,但是也有例外,那就是在配置apache的时候二者是截然不同的,你看下边的配置

ServerAdmin ???@gmail.com
DocumentRoot "D:/wamp/www/_get.tw"
ServerName 7.7di.net



ServerAdmin ???@gmail.com
DocumentRoot "D:/wamp/www/_web.tw"
ServerName 7di.net

这是同一台服务器上的两个不同的网站,尽管两个网址指向了同一个ip,但是他们却用来开启不同的网站

问题的关键在于你是如何配置 cloudtest.cnfol.com 主机的

问题的关键在于你是如何配置 cloudtest.cnfol.com 主机的

可以这样说,通过HOSTS过,我们都是用IP来访问服务器的。所以服务器返回一样的结果。

我自己猜测,是不是这样子,我们在地址栏上的输入,是不是发给服务器,服务器才可以判断,返回哪个给我们

所以对于这种没有配置域名服务器的,必须在 HOSTS 文件中绑定一下

如果用 ip 和 域名 访问会得到不同的页面,那么他们进入的就不是同一个入口文件
当然也不排除你在入口文件中做了甄别,不过那就绝对的你的问题了
如果经同一个ip能访问到多个网站,则必定存在域名绑定虚拟主机的设置
当web主机与虚拟主机共存的情况下,虚拟主机列表中要同时做web主机的域名(localhost)的绑定
hosts 文件只是替代 dns 的工具,凡是出现在其中的域名都不再向 dns 查询 ip 地址
但是 ip 只是用于网络连接,web 服务器的响应是根据域名做出的