apache .htaccess

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