我对 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