estou obtendo
[Terça-feira, 24 de abril, 12:12:55 2012] [erro] [cliente 127.0.0.1] cliente negado pela configuração do servidor: / labs / Projects / Nebula / bin /
Minha estrutura de diretórios é semelhante (estou usando o Symfony 2, deve ser uma estrutura semelhante para outras estruturas da web)
Tenho vhosts configurados 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>
Gostaria de saber qual é o problema e como solucioná-lo?
Respostas:
O Apache 2.4.3 (ou talvez um pouco antes) adicionou um novo recurso de segurança que geralmente resulta nesse erro. Você também veria uma mensagem de log do formulário "cliente negado pela configuração do servidor". O recurso está exigindo uma identidade de usuário autorizada para acessar um diretório. É ativado por DEFAULT no httpd.conf que acompanha o Apache. Você pode ver a ativação do recurso com a diretiva
Basicamente, isso significa negar acesso a todos os usuários. Para corrigir esse problema, remova a diretiva negada (ou muito melhor), adicione a seguinte diretiva aos diretórios aos quais você deseja conceder acesso:
como em
fonte
Satisfy Any
após oRequire all granted
Satisfy any
neste contexto? Estou perguntando porque estava puxando meu cabelo aqui e, adicionando isso, tudo funcionou para mim. O estranho é que o aplicativo estava trabalhando com a entrada vhost existente até uma atualização recente do Apache para2.4.9
. Mais estranho de novo, é que está funcionando bem em outro servidor com as mesmas versões app / vhost e Apache / PHP. Porém, servidores diferentes - AWS Linux e Ubuntu 14.10, respectivamente. Estranho ... Eu acho que preciso para comparar de cada servidorhttpd.conf
de arquivos para ver se há uma diferença de configuração lá ...htaccess
no caminho que você está tentando acessarOK, eu estou usando a sintaxe errada, eu deveria estar usando
fonte
Require all granted
, como sugerido por @ Phil-LNo Apache 2.4, a sintaxe antiga de autorização de acesso foi preterida e substituída por um novo sistema usando o Require .
O que você deseja então é algo como o seguinte:
Isso permitirá conexões que originam quer a partir do host local ou de endereços IP que começam com "192.168.1".
Há também um novo módulo disponível que faz o Apache 2.4 reconhecer a sintaxe antiga, se você não deseja atualizar sua configuração imediatamente:
fonte
Você pode tentar alterar "Permitir de 127.0.0 192.168.1 :: 1 localhost" para "Permitir de todos". Se isso resolver o seu problema, você precisará ter menos restrições sobre onde o conteúdo pode ser solicitado
fonte
Aqui está o meu arquivo host virtual symfony 1.4 no debian, que funciona bem.
Se você não deseja restringir o acesso a um intervalo de IP específico, por exemplo, localhost use isto:
O mod_authz_host é responsável por filtrar os intervalos de IP. Você pode procurar coisas detalhadas lá.
Mas talvez o problema possa estar relacionado a algum tipo de configuração incorreta no seu "apache2.conf".
Em qual SO o apache está sendo executado?
fonte
se você está tendo o
no httpd.conf, verifique se temos
como na linha abaixo em httpd.conf
fonte
Eu tive esse problema usando o Vesta CP e, para mim, o truque foi remover .htaccess e tentar acessar qualquer arquivo novamente.
Isso resultou na regeneração do arquivo .htaccess e, em seguida, consegui acessar meus arquivos.
fonte
No meu caso, a chave era:
na definição de vhost. Eu espero que isso ajude alguém.
fonte
Este código funcionou para mim ..
Espero que isso ajude outras pessoas
fonte