authz_core continua negando acesso

2

Configurei um servidor da web mais ou menos de acordo com este tutorial ( link ) e não posso faça o PHP funcionar. Os arquivos HTML são exibidos corretamente. Recebo a seguinte mensagem de erro:

mod_authz_core.c(802): [client <myip>:36570] AH01626: authorization result of Require all denied: denied
mod_authz_core.c(802): [client <myip>:36570] AH01626: authorization result of <RequireAny>: denied
127.0.0.1 [client <myip>:36570] AH01630: client denied by server configuration: proxy:fcgi://127.0.0.1:9000/var/www/html/test.php

Aqui está o meu arquivo PHP:

www@<server>:/var/www/html$ ls -l
-rw-rw----  1 www www-data    26 Sep  6 09:14 test.php

Como você vê, o arquivo é de propriedade de "www". O servidor web e "php-fpm" estão rodando como "www-data".

Aqui está a configuração básica do "apache.conf":

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Aqui está a configuração do meu host virtual:

<VirtualHost *:80>
  ServerAdmin [email protected]

  DocumentRoot /var/www/html

  <Directory "/var/www/html">
    Options FollowSymLinks
    AllowOverride None
    Require all granted
  </Directory>

  ErrorLog /var/log/apache2/error.log

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel debug

  CustomLog /var/log/apache2/access.log combined
  ServerSignature Off

  # Enable forwarding of php requests via php-fpm
  ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
</VirtualHost>

Tive a impressão de que a parte "Exigir tudo concedido" impediria o acesso ao arquivo php e mod_authz ficaria feliz com isso.

Eu já verifiquei que "php-fpm" está escutando como deveria:

www@<server>:/etc/php5/fpm/pool.d$ netstat -an | grep :9000
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN

Agora estou sem ideias sobre onde procurar em seguida. Alguma sugestão?

    
por Stephan Klein 06.09.2016 / 13:49

1 resposta

1

Conforme solicitado, aqui está a resposta com algumas explicações adicionais.

O erro "cliente negado pela configuração do servidor" tem algumas causas muito específicas, todas detalhadas aqui link

Como mencionei no comentário, < Diretório > os blocos não afetam nenhuma solicitação com proxy, pois afetam apenas as solicitações que o próprio Apache mapeia para um caminho do sistema de arquivos.

Procure por qualquer local ou blocos de arquivos que estejam permitindo / negando acesso ao caminho do UBase base ou aos arquivos .php.

A solução que propus que parece ter funcionado foi adicionar o seguinte bloco ao host virtual.

<Location />
  require all granted
</Location>

Eu ainda sugeriria procurar outros blocos de Local / Arquivos no restante de sua configuração, pois deveria haver algo mais que fizesse com que as solicitações fossem negadas originalmente. A adição deste bloco permitiu que o solicitado começasse a funcionar devido à maneira como o Apache mescla esses tipos de blocos, conforme descrito no link a seguir.

link

    
por 07.09.2016 / 08:12