Apache: cliente denegado por la configuración del servidor
.htaccess (9)
¿Puedes intentar cambiar "Permitir desde 127.0.0 192.168.1 :: 1 localhost" a "Permitir de todos". Si eso soluciona su problema, necesita ser menos restrictivo sobre dónde se puede solicitar el contenido de
estoy obteniendo
[Mar 24 de abril, 12:12:55 2012] [error] [cliente 127.0.0.1] cliente denegado por la configuración del servidor: / labs / Projects / Nebula / bin /
Mi estructura de directorios parece (estoy usando Symfony 2, debería ser una estructura similar para otros frameworks web)
Tengo configuración de fantasmas como:
<VirtualHost nebula:80>
DocumentRoot "/labs/Projects/Nebula/web/"
ServerName nebula
ErrorLog "/var/log/httpd/nebula-errors.log"
</VirtualHost>
<Directory "/labs/Projects/Nebula/">
Options All
AllowOverride All
Order allow,deny
Allow from 127.0.0 192.168.1 ::1 localhost
</Directory>
Me pregunto cuál es el problema y cómo lo soluciono.
Apache 2.4.3 (o tal vez un poco antes) agregó una nueva característica de seguridad que a menudo resulta en este error. También vería un mensaje de registro del formulario "cliente denegado por la configuración del servidor". La función requiere una identidad de usuario autorizada para acceder a un directorio. Está activado por DEFAULT en el httpd.conf que se envía con Apache. Puede ver la habilitación de la función con la directiva
Require all denied
Esto básicamente dice que denegar el acceso a todos los usuarios. Para solucionar este problema, elimine la directiva denegada (o mucho mejor) agregue la siguiente directiva a los directorios a los que desea otorgar acceso:
Require all granted
como en
<Directory "your directory here">
Order allow,deny
Allow from all
# New directive needed in Apache 2.4.3:
Require all granted
</Directory>
Aquí está mi archivo de host virtual symfony 1.4 en Debian, que funciona bien.
<Directory /var/www/sf_project/web/>
Options All Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Si desea restringir el acceso a un rango de IP específico, por ejemplo, localhost use esto:
Allow from 127.0.0.0/8
El mod_authz_host es responsable de filtrar los intervalos de IP. Puedes buscar cosas detalladas allí.
Pero tal vez el problema podría estar relacionado con algún tipo de configuración incorrecta en su "apache2.conf".
¿En qué sistema operativo está funcionando el apache?
En Apache 2.4, la antigua sintaxis de autorización de acceso ha quedado en desuso y reemplazada por un nuevo sistema que utiliza Require .
Lo que quieres entonces es algo como lo siguiente:
<Directory "/labs/Projects/Nebula/">
Options All
AllowOverride All
<RequireAny>
Require local
Require ip 192.168.1
</RequireAny>
</Directory>
Esto permitirá conexiones que se originan desde el host local o desde direcciones IP que comienzan con "192.168.1".
También hay un nuevo módulo disponible que hace que Apache 2.4 reconozca la sintaxis anterior si no desea actualizar su configuración de inmediato:
sudo a2enmod access_compat
En mi caso, la clave fue:
AllowOverride All
en la definición de vhost. Espero que esto ayude a alguien.
Este código funcionó para mí ...
<Location />
Allow from all
Order Deny,Allow
</Location>
Espero que esto ayude a otros
OK, estoy usando la sintaxis incorrecta, debería estar usando
Allow from 127.0.0.1
Allow from ::1
...
Tuve este problema usando Vesta CP y, para mí, el truco fue eliminar .htaccess e intentar acceder a cualquier archivo de nuevo.
Eso resultó en la regeneración del archivo .htaccess y luego pude acceder a mis archivos.
si tienes el
Allow from All
en httpd.conf luego asegúrate de que tengamos
index.php
como en la línea de abajo en httpd.conf
DirectoryIndex index.html index.php