IIS(以及Apache等等其他Web Server)都可以做到“虚拟主机”(注意不是“虚拟目录”),也就是一台主机可以对应多个Web Site(“网站”)。很多网络服务商(IDC)就是使用这样的技术在一台主机上放置多个网站。

  虚拟主机实现方法有:

  
1。同一IP和port(“端口”),不同Host Header(“主机头”);

  
2。不同port;

  
3。不同IP。

  
2、3是对1的补充,也就是说在“不同端口”,“不同IP”下,已经可以实现“一台主机对应多个网站”了,同时结合使用“不同主机头”,又可以实现多个虚拟主机了。

  假设要建立xnsk.com与xnsk.net两个网站,分别在D:\xnsk.com和D:\xnsk.net两个目录下,以上方法的原理和具体做法如下:

  
1。同一IP和port(“端口”),不同Host Header(“主机头”)这是最常见的做法。

  IIS支持通过Host Header来区分不同的站点请求,也就是说,客户端的浏览器输入http:
//xnsk.com或者http://xnsk.net,请求送交IIS,也就是http报文里面就会包含了host header,它的内容就包括客户输入的内容(aaa.com or bbb.net),IIS读取host header,就找到该虚拟站点相应的home diretory(主目录),根据ducument(默认首文档)的名字寻找相应的文件,把它传递给客户端。

  这样,就通过不同的host header实现了“虚拟主机”的功能。

  具体做法是:

  在IIS里面,添加两个“站点”,描述随便写,主机头分别填写
"www.xnsk.com""www.xnsk.net",分别对应不同的主目录,端口最好就是默认的"80",IP就是该主机对外的IP;做好要以后检查该站点属性里面的主机头和端口是否正确。

  这种方法也有一点局限性,就是IE3.0以下浏览器不支持host header。(NN的记不清了,好像也是3.X版本以下的)

  
2。不同port(“端口”):

  这种很简单。建立方法:建立站点,不改变IP,改变端口。

  缺点:浏览者不知道某站点的端口,就无法访问该站点。

  
3。不同IP:

  假设本机网卡有多个IP,或者有多个网卡(也就是有多个IP),可以在建立站点以后,选择不同的IP来实现不同虚拟主机。

  缺点:管理不方便,一般正规服务的服务器也不会有多个合法IP,而内部IP只能在内部使用。

  以上方法,不管怎么作,都需要一个前提,就是DNS Server事先已经把域名xnsk.com和xnsk.net正向搜索指向该主机的合法IP了。

  否则正确建立了虚拟主机也不能被浏览。 

  如果是在本地作测试的话,本机必须配置DNS Server服务,(Win2k Professional
/WinNT Workstation都不能安装DNS);或者局域网内某台Server上安装并配置DNS,然后测试机的网卡TCP/IP需设置"DNS Server"为那台Server的IP。