
Soy bastante nuevo en Apache y fui administrador de una base de datos de SQL Server en una vida anterior, así que perdone mi ignorancia. Estoy intentando configurar un servidor web Apache (versión HP-UX) para cumplir con los STIG del DOD necesarios para este proyecto. Tengo los siguientes elementos configurados en mi archivo httpd.conf:
LoadModule dir_module modules/mod_dir.so
DirectoryIndex dft_index.html
Los permisos en este dft_index.html
archivo son propiedad de 666 root:sys
y cuando busco http://myservername/dft_index.html
el archivo aparece bien.
Sin embargo, cuando intento navegar, http://myservername/cgi-bin/
aparece un error 403. El registro de errores muestra que el navegador está intentando acceder al directorio cgi-bin en lugar de redirigir al dft_index.html
archivo.
También intenté crear un .htaccess
archivo DirectoryIndex dft_index.html
y configurarlo AllowOverride = ALL
con los mismos resultados.
Respuesta1
ElDirectoryIndex
la directiva no controlaaccesoal contenido del directorio. El acceso/permisos generalmente se especifican en elDirectory
elementos.
Si observa el registro de errores, por ejemplo /var/log/httpd/error.log
(diferente con diferentes sistemas), es posible que vea un error con este mensaje:
attempt to invoke directory as script
para lo cual eldocumentacióndice
Esto ocurre cuando Apache está configurado con
ScriptAlias
oSetHandler
y se realiza una solicitud de una ruta de directorio. El problema es que, en esas circunstancias, todos los recursos que se encuentran en una determinada ruta se consideran ejecutables.Para solucionar esto y permitir
DirectoryIndex
que funcione nuevamente, useAddHandler
conOptions
ExecCGI
oSetHandler
en una<Files>
estrofa.
y proporciona un ejemplo que puede resultarle útil, desactivando ScriptAlias
y restaurando el equivalente usando AddHandler cgi-script cgi pl
dentro de las Directory
opciones.