Apache2 "Richiedi tutto concesso" non funziona


12

Ho una nuova installazione di Apache2 sui test Debian e ho configurato un host virtuale in una directory come questa:

<Directory "/path/to/project">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

Tuttavia mi mostra un errore 403 proibito quando accedo ad esso e il registro errori mostra:

[Mon Sep 23 22:07:57.249276 2013] [authz_core:debug] [pid 8599] mod_authz_core.c(802): [client 127.0.0.1:49057] AH01626: authorization result of Require all denied: denied
[Mon Sep 23 22:07:57.249349 2013] [authz_core:debug] [pid 8599] mod_authz_core.c(802): [client 127.0.0.1:49057] AH01626: authorization result of <RequireAny>: denied
[Mon Sep 23 22:07:57.249361 2013] [authz_core:error] [pid 8599] [client 127.0.0.1:49057] AH01630: client denied by server configuration: /path/to/project/some_file

Perché mostra "risultato di Richiedi tutto negato: negato" se sto usando "Richiedi tutto concesso" ?

Questi file sono leggibili da qualsiasi utente e nel caso in cui ho provato a cambiare il proprietario in Apache (dati www) senza fortuna. Inoltre, l'host predefinito su http://localhostfunziona normalmente e phpmyadmin http://localhost/phpmyadminfunziona anche su.

Tutto l'aiuto che ho trovato su Internet riguarda la sostituzione della direttiva Order con Require. L'ho già fatto. Quale potrebbe essere il problema adesso?


Mi sembra corretto. Sei sicuro che non siano altre direttive più specifiche con un Require all negato?
Richard Salts,

Risposte:


5

Ecco due cose da provare:

1) Esegui apachectl -tper verificare che la sintassi del file sia valida.

2) Esegui apachectl -Sper mostrare quali file vengono analizzati.

Ad esempio, potresti modificare /usr/local/etc/apache2/2.4/httpd.conf ed è giusto? ... ma se esegui apachectl -S potresti vedere:

VirtualHost configuration:
*:80                   localhost (/private/etc/apache2/extra/httpd-vhosts.conf:23)

vale a dire. L'host virtuale sta eseguendo l'override di httpd.conf e può contenere il proprio Require all deniedo simile.


3

Hai impostato l'autorizzazione, ma nessuna autenticazione. Pertanto, mentre "Richiedi tutto concesso" consentirà l'accesso a tutti gli utenti autenticati, i tuoi utenti non eseguiranno l'autenticazione.


9
Quindi dove dovresti impostare l'autenticazione? Non molto chiaro ...
edi9999

2
Sebbene tecnicamente corretto, questo non risponde alla domanda. Require all grantedconsente specificamente tutti gli accessi e non necessita di alcuna autenticazione. Non ha senso autenticarsi quando si aprono metaforicamente le porte.
Martijn Heemels,

2

Dato che stai usando la AllowOverride Alldirettiva, potresti anche avere un .htaccessfile in /path/to/project/. Questo può contenere una direttiva prioritaria.

Controlla anche se non hai qualche altro parametro in un VHost per esempio.


Ero alle prese con questo errore. Dopo aver esaminato a fondo tutti i file di configurazione di Apache, ho trovato un file .htaccess con contenuto non valido. Nessuno dei messaggi ha indicato questo.
Dustin Butler,

1

Dopo aver installato Wampserver 32, ho avuto lo stesso problema di essere stato rifiutato da Apache.

Ho controllato e provato a modificare il httpd.conffile in molti modi per 3 giorni senza fortuna, andando in giro per i tutorial di Apache e forum su Internet con il famoso errore:

AH01630: client negato dalla configurazione del server

Ero abbastanza sicuro di non aver definito alcun VirtualHost e nessuno doveva essere visto nel file httpd.conf.

Infine, ho configurato il server per il file di errore "debug", che mi ha dato il messaggio più interessante:

AH01626: risultato dell'autorizzazione di Richiedi locale: negato

che a sua volta mi porta a questo post.

Ed eccolo lì, nascosto nel C:\wamp\bin\apache\apache2.4.18\conf\extra\httpd-vhosts.conffile: un VirtualHost indesiderato con un esplicito "Richiedi locale" che ovviamente ha respinto tutte le mie richieste dall'esterno del server.

Ora, ho svuotato questo file fino a quando potrei aver bisogno di VirtualHost, e funziona benissimo. Alla fine, trovo piuttosto strano da Wampserver non solo preconfigurare questo file senza avvisare l'utente, ma impostare il valore predefinito in modo che il "server" non possa servire a nulla.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.