问题:作为客户端,我们想直接输入网站名称就可以访问网址,而不像通过复杂的IP地址和端口号。
step1:手动为客户端配置DSN服务器
step2:建立两个网站并将其和DNS解析域进行一一绑定。(这里的网站描述就是在控制台左边显示的名字)
然后一路下一步,选择html文件的路径之后点完成,然后以同样的方式再创建一个site_02,并让其指向另一个网站html文件。效果如下图所示。
但是会显示site_02无法启动,这就是因为site_01已经使用了当前这个IP和端口,要是再有人用这个同样的IP和port,那用户访问的时候我是展示site_01还是site_02呢?这就出现了二义性。所以就需要我们给这两个网站加一点区别--DNS解析。
step3:将我们写好的html页面放到两个站点的首页位置。
step4:赋予服务器解析DNS的功能(意思就是我们将用同一台服务器既为客户机提供DNS解析,又作为WEB服务器提供网页),这些网站的搭建和访问都是在内网中做的。
先新建两个解析域(也就是二级域名),分别对应IIS中的两个站点,(这里有必要说一下:新建的二级域名和IIS中的站点是同一层级的关系)
每个site解析域中再建立三级域名,就建最常见的www域名就可以,因为大家的习惯一般就是网址前面加www。
效果如下:
到目前为止说明用户输入www.site_01.com或者www.site_01.com就已经能让DNS解析出IIS的ip地址了。那我们的二义性的问题还是没有解决啊?输入网址我依旧不知道该访问哪个?
这就用到了下面最后的一步----将DNS中的二级域名中的三级域名和IIS中的网址绑定,即使IP和端口号一样,根据客户机输入的网址的名字不一样,这样就可以定位到具体的网址
step5:IIS站点和DNS三级域名绑定。
先绑定site_01和DNS解析域中的www.site01.com
site_02的绑定同理。
这样就将网站二和DNS解析的域绑定好了,当客户机拿主机头值访问的时候就不会有二义性。(服务器会多检查一下用户在浏览器框中输入的内容(也就是主机头值),只有IP,port,主机头值都一一对上了才可以)
然后我们再启动第二个站点会发现可以正常启动了,
而且注意:一个站点可以绑定多个域名,不只是只能绑定一个,就比如我们给www.site01.com起个别名www.z.com,我们也可以将www.z.com和这个站点绑定
step6:测试正误。
打开一台XP,分别用www.site01.com和www.site02.com来访问。
写在最后:通过这个小实验,理解如下:
当用户在客户机的IE中用DNS服务器中已经配置好的三级域名搜索时,DNS服务器会为我们返回解析好的IP和Port等信息,但是这些信息并不能确定指向哪个站点,因为一台IIS服务器上有很多站点,他们的IP和Port都一样。所以IIS需要再检查一下用户输入的内容,并以此来区分不同的网站。这也是为什么我们必须将域名和IIS中的网站进行绑定。