国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

NT 下虛擬域名的實(shí)現(xiàn)

2019-11-18 22:12:10
字體:
供稿:網(wǎng)友
虛擬域名實(shí)際上是虛擬主機(jī)的一種。
  虛擬主機(jī)的出現(xiàn)是為了節(jié)省硬件的投資。如果 ISP 為每個(gè)申請(qǐng)了域名的用戶都使用一臺(tái)單獨(dú)的機(jī)器,顯然費(fèi)用會(huì)很
高,而且對(duì)于訪問不是很頻繁的站點(diǎn)來說也是一種浪費(fèi)。所以就出現(xiàn)了大家公用一臺(tái)機(jī)器,但每個(gè)用戶之間相互獨(dú)立,功
能完全等同與擁有自己的主機(jī)。

  虛擬主機(jī)分為基于 ip 地址的( IP-based )和基于名稱的( name-based )兩種。

  基于 IP 地址的虛擬主機(jī)大家雖然在同一臺(tái)機(jī)器上,還是要給每個(gè)域名配置獨(dú)立的 IP 地址,這樣看來還不能算是一
種很理想的方案。有沒有用一臺(tái)機(jī)器、一個(gè) IP 地址,又能實(shí)現(xiàn)獨(dú)立的域名呢?

  這個(gè)想法隨著 http/1.1 協(xié)議的出現(xiàn)得到了實(shí)現(xiàn)。它的原理是用 Web 服務(wù)器和瀏覽器共同作用來實(shí)現(xiàn)把虛擬的域名與
相應(yīng)的目錄或站點(diǎn)對(duì)應(yīng)。這樣用戶在瀏覽器里輸入不同的名字,雖然由 DNS 服務(wù)器解析出的是同一個(gè) IP ,但得到的卻是
不同的內(nèi)容。看上去就象兩個(gè)獨(dú)立的域名了。所以這種基于名稱的虛擬主機(jī)又稱為非 IP 的( non-IP )。這同時(shí)還有一
個(gè)用處,可以給很長(zhǎng)的 URL 起一個(gè)即好記又有意義的別名。這就是虛擬域名。

  實(shí)現(xiàn)虛擬域名要有兩方面的支持:

  一是 Web 服務(wù)器:

  現(xiàn)在有很多的 Web Server 支持基于名稱的虛擬主機(jī)。象 Netscape , IIS 等都支持。當(dāng)然用的最多的還是 Apache
Web Server ,究其原因是因?yàn)樗渲梅奖悖€是免費(fèi)的,而且它是第一個(gè)實(shí)現(xiàn)了基于名稱的虛擬主機(jī)的服務(wù)器產(chǎn)品。

  二是用戶的瀏覽器:

  我想大家使用的決大多數(shù)應(yīng)該是 3.0 版本以上的 IE 或 Netscape ,那就沒問題了,它們都支持。

  下面我們就來看看在 NT 下如何實(shí)現(xiàn)虛擬域名:

  第一步是要 DNS 服務(wù)器認(rèn)識(shí)你要增加的域名,也就是把它解釋成相應(yīng)的 IP 地址。因?yàn)槲覀円?Web 服務(wù)器來區(qū)分
域名,所以這個(gè) IP 地址自然得是你 Web Server 所管理的了。

  你所要做的就是 DNS 服務(wù)中增加一個(gè)別名記錄,假定你要增加的是 aaa.domain.com ,想要指到 www.domain.com ,
就可寫成:

  aaa IN CNAME www.domain.com.

  也許你會(huì)想如果我要增加很多域名,那不是很麻煩,而且 DNS 服務(wù)器的記錄文件要很大嘍。好,我們來騙一下 DNS
服務(wù)器,把“ aaa ”改成“ * ”,這樣它就把所有沒給出設(shè)置的以 domain.com 結(jié)尾的記錄全部轉(zhuǎn)到 www.domain.com
去了,不管是 aaa.domain.com 還是 bbb.domain.com 。這不會(huì)影響已有的記錄。

  下一步就要配置 Web 服務(wù)器了。我們選兩個(gè)常用的: IIS 和 Apache for NT 。

  一、 IIS (記住,只有 4.0 版以上才支持基于名稱的虛擬主機(jī)。)

  進(jìn)入 IIS 的服務(wù)管理器,在相應(yīng)的服務(wù)器上選擇新增 Web 站點(diǎn),給站點(diǎn)起個(gè)名字,選擇好 IP 地址(也就是前面設(shè)
好的由 DNS 服務(wù)器所指向的)。選擇好主目錄路徑,如果是映射到遠(yuǎn)端的 URL 的話,可以先設(shè)個(gè)臨時(shí)的路徑。

  完成后進(jìn)入新建的 Web 站點(diǎn)的屬性,在“ Web 站點(diǎn)”的標(biāo)簽里點(diǎn)“高級(jí) ... ”按鈕,編輯標(biāo)識(shí)記錄,在“主機(jī)標(biāo)題
名”處填寫要加入的虛擬域名,如: aaa.domain.com ,記住要填完整,不能光打 aaa 。現(xiàn)在可以到“主目錄”的標(biāo)簽里
選擇要映射的具體目錄了,可以是本機(jī)器或本網(wǎng)機(jī)器上的路徑,也可是遠(yuǎn)端站點(diǎn)的 URL 。

   IIS 配置起來直觀,但如果是有大量的記錄就不適合了,而且也不適合在線申請(qǐng)。

  二、 Apache (新版本已經(jīng)開始支持 NT ,你可以到 http://www.apache.org 去得到最新的版本,并且?guī)г创a,有
興趣可以自己開發(fā)些新功能)

  配置 Apache 需要跟配置文件 http.conf 打交道,缺省情況它位于 /PRogram Files/Apache Group/Apache/conf 目
錄下。

  首先需要加入 NameVirtualHost xxx.xxx.xxx.xxx

  其中 xxx.xxx.xxx.xxx 為你虛擬服務(wù)器的 IP 地址,也就是上面例子 www.domain.com 的 IP 地址。在此可配置多個(gè)
虛擬 IP 地址。(注意:這里要用 IP 地址,不要用域名)

  接下來為每個(gè)虛擬域名加入記錄: …… xxx.xxx.xxx.xxx 要和 NameVirtualHost 的一致。 在兩個(gè)標(biāo)志之間可加入
的配置參數(shù)有:
   ServerName 后面跟你要增加的虛擬域名,如 aaa.domain.com ;
   Documentroot 如果你映射到本機(jī)的路徑就加在后面,如“ F:/html/aaa ”(需要加雙引號(hào));
   redirect 如果你映射到遠(yuǎn)端的 URL 可加在后面,有兩個(gè)參數(shù),第一個(gè)是虛擬域名的相對(duì)路徑,第二個(gè)是遠(yuǎn)端站點(diǎn)
的 URL ;
   ServerAlias 后可加入本域名的別名,可使用通配符,如:
  *.aaa.domain.com 。

  下面舉幾個(gè)例子:

   1. 映射到本機(jī)的物理路徑:

< VirtualHost xxx.xxx.xxx.xxx>
DocumentRoot "F:/Program Files/Apache Group/Apache/htdocs/test"
ServerName test.domain.com
< VirtualHost>

2. 映射到遠(yuǎn)端的 URL :
< VirtualHost xxx.xxx.xxx.xxx>
ServerName test1.doamin.com
redirect / http://test.domain1.com/welcome.htm
< /VirtualHost>

  當(dāng)然還有許多參數(shù),象 log 文件的位置、超時(shí)的設(shè)置、緩沖區(qū)的設(shè)置等等,可以參考 Apache 的在線幫助文件。每增
加一個(gè)虛擬域名就要增加一段位于 < VirtualHost...>...< /VirtualHost> 之間的配置代碼,而且只有在重新啟動(dòng)
Apache 后新配置才能生效。

  顯然如果要配置大量的記錄將大大增加配置文件的長(zhǎng)度,這樣會(huì)還會(huì)使 Apache 啟動(dòng)變慢,占用更多的內(nèi)存,而且也
不容易實(shí)現(xiàn)在線申請(qǐng)。你可以通過選擇動(dòng)態(tài)方式來配置虛擬主機(jī)。這樣你不必事先寫好配置,而是通過編寫一定的動(dòng)態(tài)規(guī)
則來自動(dòng)生成或隨時(shí)從獨(dú)立的配置文件中讀取信息。這要用到 Apache 的 mod_rewrite 模塊,所以要在配置文件里加一
行:
  LoadModule rewrite_module modules/ApacheModuleRewrite.dll

  你可以制定很多規(guī)則來重寫 URL ,象通過環(huán)境變量、 http 協(xié)議頭,甚至是通過外部的數(shù)據(jù)庫來維護(hù) URL 。它的功
能非常強(qiáng)大,也就同時(shí)帶來了復(fù)雜性,你得通過不斷的摸索和實(shí)驗(yàn)來真正掌握它,不過這是很值得的。

  最后簡(jiǎn)單的介紹一下在線免費(fèi)域名的一種實(shí)現(xiàn):

1. 通過 Perl 來維護(hù)一個(gè)用戶數(shù)據(jù)庫,管理用戶的增刪、驗(yàn)證和密碼更改等工作。

2. 同時(shí)用 Perl 來通過數(shù)據(jù)庫維護(hù)獨(dú)立的虛擬域名的配置文件,例如: vdomains.map ,格式如下:

   aaa.domain.com http://www.domain1.com/~aaa

   bbb.domain.com http://www.domain2.com/~bbb ...

3. 最后配置 httpd.conf 文件。
  用 RewriteEngine On 打開 rewrite 模塊,用 RewriteMap 設(shè)定配置文件的位置和屬性,用 RewriteCond 和
RewriteRule 制定相應(yīng)的規(guī)則即可。




發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 高要市| 施甸县| 鄂伦春自治旗| 铜川市| 四川省| 天水市| 阜新市| 淅川县| 甘洛县| 邓州市| 康平县| 塔城市| 谢通门县| 西林县| 马山县| 南雄市| 阜南县| 乐平市| 平谷区| 康定县| 高雄市| 辽宁省| 视频| 大竹县| 昭通市| 越西县| 普定县| 绥棱县| 溧阳市| 原平市| 岢岚县| 大理市| 云和县| 鄂托克旗| 广丰县| 满洲里市| 新安县| 湘乡市| 博罗县| 河南省| 峡江县|