
我對 apache 相當陌生,以前是 SQL Server 資料庫管理員,所以請原諒我的無知。我正在嘗試設定一個 Apache Web 伺服器(HP-UX 風格)以符合該專案所需的 DOD STIG。我在 httpd.conf 檔案中配置了以下項目:
LoadModule dir_module modules/mod_dir.so
DirectoryIndex dft_index.html
該dft_index.html
文件的權限為 666 root:sys
,當我瀏覽到http://myservername/dft_index.html
該文件時,效果很好。
但是,當我嘗試瀏覽時,http://myservername/cgi-bin/
我收到 403 錯誤。錯誤日誌顯示瀏覽器正在嘗試存取 cgi-bin 目錄本身,而不是重定向到該dft_index.html
檔案。
我還嘗試創建一個.htaccess
文件DirectoryIndex dft_index.html
並設置AllowOverride = ALL
相同的結果。
答案1
這DirectoryIndex
指令不控制使用權到目錄的內容。存取/權限通常在Directory
專案.
例如,如果您查看錯誤日誌/var/log/httpd/error.log
(不同系統有所不同),您可能會看到一條帶有以下訊息的錯誤:
attempt to invoke directory as script
為此文件說
當使用
ScriptAlias
或配置 ApacheSetHandler
並且請求目錄路徑時,會發生這種情況。問題是,在這種情況下,某個路徑下的所有資源都被認為是可執行的。要解決此問題並允許
DirectoryIndex
再次工作,請在節中使用AddHandler
withOptions
ExecCGI
、 或。SetHandler
<Files>
它提供了一個範例,您可能會發現該範例很有用,方法是關閉,並在選項中ScriptAlias
使用等效項來恢復。AddHandler cgi-script cgi pl
Directory