Apache服務器配置全攻略(六)
2024-08-27 18:28:42
供稿:網友
作者:王波
這里可以看到另外一個語句limit,limit語句就是用來針對具體的請求方法來設定訪問控制的,其中可以使用get、post等各種服務器支持的請求方法做limit的參數,來設定對不同請求方法的訪問限制。一般可以打開對get、post、 head三種請求方法,而屏蔽其他的請求方法,以增加安全性。limit語句中,可以用order 、allow、deny,allow和deny中可以使用匹配的方法針對域名和ip進行限制,只是對于域名是從后向前匹配,對于ip地址則從前向后匹配。
directoryindex index.html
很多情況下,url中并沒有指定文檔的名字,而只是給出了一個目錄名。那么apache服務器就自動返回這個目錄下由directoryindex定義的文件,當然可以指定多個文件名字,系統會這個目錄下順序搜索。當所有由directoryindex指定的文件都不存在時,apache服務器可以根據系統設置,生成這個目錄下的所有文件列表,提供用戶選擇。此時該目錄的訪問控制選項中的indexes選項(options indexes )必須打開,以使得服務器能夠生成目錄列表,否則apache將拒絕訪問。
accessfilename .htaccess
accessfilename定義每個目錄下的訪問控制文件的文件名,缺省為.htaccess,可以通過更改這個文件,來改變不同目錄的訪問控制限制。
order allow,deny
deny from all
除了可以針對目錄進行訪問控制之外,還可以根據文件來設置訪問控制,這
就是file語句的任務。使用file 語句,不管文件處于哪個目錄,只要名字匹配, 就必須接受相應的訪問控制。這個語句對于系統安全比較重要,例如上例將屏蔽所有的使用者不能訪問.htaccess文件,這樣就避免.htaccess中的關鍵安全信息不至于被客戶獲取。
#cachenegotiateddocs
缺省情況下如果代理服務器和apache服務器協商是否緩存其網頁,apache給
予否定的回答,不希望自己的網頁被代理服務器緩存。然而這樣就不能有效的利用代理服務器的優勢,因此可以設置cachenegotiatiedocs 選項, 使得代理服務器可以對網頁進行緩存。然而即使不設置這個選項,有的代理服務器(或通過調整設置)也能對網頁進行緩存。
usecanonicalname on
打開這個usecanonicalname是web服務器的標準做法,因為客戶發送的大部分請求都是對本服務器的引用,這樣服務器就能使用servername和port選項的設置內容構建完整的url,并回應客戶,使瀏覽器能得到規范的url。如果將這個參數設置為off,那么apache將使用從客戶請求中獲得服務器的名字和端口值(支持http 1.1的客戶的請求中將會有這些信息),重新構建url。
typesconfig /usr/local/apache/etc/mime.types
typeconfig用于設置保存有不同的mime類型數據的文件名,在linux下缺省設置為/usr/local/apache/etc/mime.types。
defaulttype text/plain
如果web服務器不能決定一個文檔的缺省類型,這通常表示文檔使用了非標準的后綴,那么服務器就使用 defaulttype定義的mime類型將文檔發送給客戶瀏覽器。這里的設置為text/plain,這樣設置的問題是,如果服務器不能判斷出文檔的mime,那么大部分情況下這個文檔為一個二進制文檔,但使用 text/plain格式發送回去,瀏覽器將在內部打開它而不會提示保存。因此建議將這個設置更改為
application/octet-stream,這樣瀏覽器將提示用戶進行保存。
mimemagicfile /usr/local/apache/etc/magic
除了從文件的后綴出發來判斷文件的mime類型之外,apache還可以進一步分
析文件的一些特征,來判斷文件的真實mime類型。這個功能是由mod_mime_magic 模塊實現的,它需要一個記錄各種mime類型特征的文件,以進行分析判斷。上面的設置是一個條件語句,如果載入了這個模塊,就必須指定相應的標志文件magic的位置。