[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 應用技術 > Apache > 正文
Apache服務器配置全攻略(八)
http://www.oso.com.cn 作者:王波 (2001-04-15 20:38:41)

用設置訪問控制的設置主要是針對目錄和文件進行設置的,然而也可以針對不同的URL進行訪問控制的設置,這樣就不必擔心ScriptAlias、Alias是否將路徑設置到了受控制的目錄之外了。針對URL進行控制的語句為 Location語句,這樣不但能對服務器上的文件、CGI提供保護,此外,它還能保護不能找到對應文件,而是由服務器本身提供的特殊功能URL。http://servername/server-status用報告當前Apache服務器的狀態,http://servername/server-info用報告Apache 服務器的統計信息。與此相關的設置還有ExtendedStatus參數,可以讓服務器輸出更詳細的的報告。 




#ProxyRequests On 





# Order deny,allow 

# Deny from all 

# Allow from .your_domain.com 



#ProxyVia On 

#CacheRoot "/www/proxy" 

#CacheSize 5 

#CacheGcInterval 4 

#CacheMaxExpire 24 

#CacheLastModifiedFactor 0.1 

#CacheDefaultExpire 1 

#NoCache a_domain.com another_domain.edu joes.garage_sale.com 





  Apache服務器本身就具備代理的功能,然而這要求加載入mod_proxy模塊。這能使用IfModule語句進行判斷,如果存在mod_proxy模塊,就使用ProxyRequests打開代理支持。此的Directory用設置對Proxy功能的訪問權限設置,以及用設置緩沖的各個參數設置。 


虛擬主機 

#NameVirtualHost 12.34.56.78:80 

#NameVirtualHost 12.34.56.78 



# ServerAdmin webmaster@host.some_domain.com 

# DocumentRoot /www/docs/host.some_domain.com 

# ServerName host.some_domain.com 

# ErrorLog logs/host.some_domain.com-error_log 

# CustomLog logs/host.some_domain.com-access_log common 







  缺省設置文件中的這些內容是用設置命名基礎的虛擬主機服務器時使用。 

其中NameVirtualHost 來指定虛擬主機使用的IP地址,這個IP地址將對應多個 DNS名字,如果Apache使用了Listen 參數控制了多個端口,那就可以在這裡加上端口號以進一步進行區分對不同端口的不同連接請求。此,使用 VirtualHost 語句,使用NameVirtualHost指定的IP地址作參數,對每個名字都定義對應的虛擬主機設置。 

  虛擬主機是在一台Web服務器上,可以為多個單獨域名提供Web服務,並且每個域名都完全獨立,包括具有完全獨立的文檔目錄結構及設置,這樣域名之間完全獨立,不但使用每個域名訪問到的內容完全獨立,並且使用另一個域名無法訪 

問其他域名提供的網頁內容。 

  虛擬主機的概念對ISP來講非常有用,因為雖然一個組織可以將自己的網頁掛在具備其他域名的服務器上的下級往址上,但使用獨立的域名和根網址更為正式,易為眾人接受。傳統上,必須自己設立一台服務器才能達到單獨域名的目的,然而這需要維護一個單獨的服務器,很多小單位缺乏足夠的維護能力,更為合適的方式是租用別人維護的服務器。ISP也沒有必要為一個機構提供一個單獨的服務器,完全可以使用虛擬主機能力,使服務器為多個域名提供Web服務,而且不同的服務互不幹擾,對外就表現為多個不同的服務器。 

  有兩種設定虛擬主機的方式,一種是基HTTP 1.0標準,需要一個具備多IP 

地址的服務器,再配置DNS 服務器,給每個IP地址以不同的域名,最才能配置Apache的配置文件,使服務器對不同域名返回不同的Web文檔。由這需要使用額外的IP地址,對每個要提供服務的域名都要使用單獨的IP地址,因此這種方式實現起來問題較多。 

  可以在一個網絡界面上綁定多個IP地址,Linux下需要使用ifconfig的 alias參數來進行這個配置,但此時會影響網絡性能。 

  HTTP 1.1標準在協議中規定了對瀏覽器和服務器通信時,服務器能夠跟蹤瀏 

覽器請求的是哪個主機名字。因此可以利用這個新特性,使用更輕鬆的方式設定 

虛擬主機。這種方式不需要額外的IP地址,但需要新版本的瀏覽器支持。這種方式已經成為建立虛擬主機的標準方式。 

  要建立非IP基礎的虛擬主機,多個域名是不可少的配置,因為每個域名就對 

應一個要服務的虛擬主機。因此需要更改DNS服務器的配置,為服務器增加多個C NAME選項,如: 


linux IN A 192.168.1.64 

vhost1 IN CNAME linux 

vhost2 IN CNAME linux 


 基本的設置選項都是為了linux主機設定的,如果要為vhost1和vhost2設定 

虛擬主機,就要使用VirtualHost語句定義不同的選項,在語句中可以使用配置文件前面中的大部分選項,而可以重新定義幾乎所有的針對服務器的設置。 


NameVirtualHost 192.168.1.64 


DocumentRoot /www/data 

ServerName linux.example.org.cn 


DocumentRoot /vhost1 

ServerName vhost1.example.org.cn 


DocumentRoot /vhost2 

ServerName vhost2.example.org.cn 


  這裡需要注意的是,VirtualHost的參數地址一定要和NameVirtualHost定義的地址相一致,必須保証所有的值嚴格一致,Apache服務器才承認這些定義是為這個IP地址定義的虛擬主機。 

  此外,定義過NameVirtualHost之,那對這個IP地址的訪問都被區分不同的虛擬主機進行處理,而對其他IP地址的訪問,例如127.0.0.1,才應用前面定義的缺省選項。 

<完>  

原作者:王波  
來源:Linux自由空間   

(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
Apache服務器配置全攻略(八) (2001-04-15 20:38:41)
Apache服務器配置全攻略(七) (2001-04-15 20:37:24)
Apache服務器配置全攻略(六) (2001-04-15 20:36:22)
Apache服務器配置全攻略(五) (2001-04-15 20:35:45)
Apache服務器配置全攻略(四) (2001-04-15 20:29:55)
Apache服務器配置全攻略(三) (2001-04-15 20:28:42)
Apache服務器配置全攻略(二) (2001-04-15 20:25:49)
Apache服務器配置全攻略(一) (2001-04-15 20:22:22)
 

★  樊強制作 歡迎分享  ★