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 /
La estructura de mi directorio se ve así (estoy usando Symfony 2, debería ser una estructura similar para otros marcos web)
Tengo una configuración de vhosts 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.
Respuestas:
Apache 2.4.3 (o quizás un poco antes) agregó una nueva característica de seguridad que a menudo resulta en este error. También verá un mensaje de registro con la forma "cliente denegado por la configuración del servidor". La función requiere una identidad de usuario autorizada para acceder a un directorio. DEFAULT lo activa en httpd.conf que se incluye con Apache. Puede ver la habilitación de la función con la directiva
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:
como en
fuente
Satisfy Any
después de laRequire all granted
Satisfy any
en este contexto? Lo pregunto porque estaba tirando de mi cabello aquí, y agregando esto, todo funcionó para mí. Lo extraño es que la aplicación estaba trabajando con la entrada vhost existente hasta una reciente actualización de Apache2.4.9
. Una vez más extraño, es que está funcionando bien en otro servidor con la misma aplicación / vhost y versiones de Apache / PHP. Sin embargo, diferentes servidores: AWS Linux y Ubuntu 14.10 respectivamente. Extraño ... supongo que necesito comparar loshttpd.conf
archivos de cada servidor para ver si hay una diferencia de configuración allí ...htaccess
en el camino al que estás intentando accederOK, estoy usando la sintaxis incorrecta, debería estar usando
fuente
Require all granted
, como lo sugirió @ Phil-LEn Apache 2.4, la antigua sintaxis de autorización de acceso ha quedado en desuso y ha sido reemplazada por un nuevo sistema que utiliza Requerir .
Lo que quieres es algo como lo siguiente:
Esto permitirá que las conexiones que se originan ya sea 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:
fuente
¿Puede intentar cambiar "Permitir de 127.0.0 192.168.1 :: 1 localhost" a "Permitir de todos"? Si eso soluciona su problema, debe ser menos restrictivo sobre dónde se puede solicitar contenido
fuente
Aquí está mi archivo de host virtual Symfony 1.4 en Debian, que funciona bien.
Si no desea restringir el acceso a un rango de IP específico, por ejemplo, localhost use esto:
El mod_authz_host se encarga de filtrar rangos 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 se está ejecutando el apache?
fuente
si tienes el
en httpd.conf luego asegúrese de que tengamos
como en la línea de abajo en httpd.conf
fuente
Tuve este problema usando Vesta CP y para mí, el truco fue eliminar .htaccess e intentar acceder a cualquier archivo nuevamente.
Eso resultó en la regeneración del archivo .htaccess y luego pude acceder a mis archivos.
fuente
En mi caso la clave fue:
en vhost definición. Espero que esto ayude a alguien.
fuente
Este código funcionó para mí ...
Espero que esto ayude a otros
fuente