用IIS建立虛擬主機,實現在一臺主機上建立多個虛擬主機的方法
IIS(以及Apache等等其他Web Server)都可以做到“虛擬主機”(注意不是“虛擬目錄”),也就是一臺主機可以對應多個Web Site(“網站”)。很多網路服務商(IDC)就是使用這樣的技術在一臺主機上放置多個網站。
虛擬主機實現方法有:
1。同一IP和port(“埠”),不同Host Header(“主機頭”);
2。不同port;
3。不同IP。
2、3是對1的補充,也就是說在“不同埠”,“不同IP”下,已經可以實現“一臺主機對應多個網站”了,同時結合使用“不同主機頭”,又可以實現多個虛擬主機了。
假設要建立aaa.com與bbb.net兩個網站,分別在D:/aaa.com和D:/bbb.net兩個目錄下,以上方法的原理和具體做法如下:
1。同一IP和port(“埠”),不同Host Header(“主機頭”):這是最常見的做法。
IIS支援通過Host Header來區分不同的站點請求,也就是說,客戶端的瀏覽器輸入http://aaa.com或者http://bbb.net,請求送交IIS,也就是http報文裡面就會包含了host header,它的內容就包括客戶輸入的內容(aaa.com or bbb.net),IIS讀取host header,就找到該虛擬站點相應的home diretory(主目錄),根據ducument(預設首文件)的名字尋找相應的檔案,把它傳遞給客戶端。這樣,就通過不同的host header實現了“虛擬主機”的功能。
具體做法是:
在IIS裡面,新增兩個“站點”,描述隨便寫,主機頭分別填寫 www.aaa.com和www.bbb.net,分別對應不同的主目錄,埠最好就是預設的80,IP就是該主機對外的IP;做好要以後檢查該站點屬性裡面的主機頭和埠是否正確。
這種方法也有一點侷限性,就是IE3.0以下瀏覽器不支援host header。
2。不同port(“埠”):
這種很簡單。建立方法:建立站點,不改變IP,改變埠。
缺點:瀏覽者不知道某站點的埠,就無法訪問該站點。
3。不同IP:
假設本機網絡卡有多個IP,或者有多個網絡卡(也就是有多個IP),可以在建立站點以後,選擇不同的IP來實現不同虛擬主機。
缺點:管理不方便,一般正規服務的伺服器也不會有多個合法IP,而內部IP只能在內部使用。
以上方法,不管怎麼作,都需要一個前提,就是DNS Server事先已經把域名aaa.com和bbb.net正向搜尋指向該主機的合法IP了。否則正確建立了虛擬主機也不能被瀏覽。
如果是在本地作測試的話,本機必須配置DNS Server服務,(Win2k Professional/WinNT Workstation都不能安裝DNS);或者區域網內某臺Server上安裝並配置DNS,然後測試機的網絡卡TCP/IP需設定DNS Server為那臺Server的IP。