2013-04-01 10 views
7

Sto eseguendo Apache 2.4 in Windows Server 2008 R2. Sto tentando di proteggere con password una sottodirectory e l'ho fatto con successo in Apache 2.0. Dopo l'aggiornamento ho preso il consiglio di Apache e sto tentando di mettere la configurazione di autenticazione in httpd.config. Sto permettendo la lettura del file di password e tutto sembra essere in ordine, ma quando lo provo ottengo il seguente errore:Apache 2.4 ".. errore di autenticazione ..: Password non corrispondente"

[Lun Apr 01 19: 58: 36.438476 2013] [auth_basic: errore] [pid 3984: tid 788] [client xxx.yyy.254.2: 49253] AH01617: utente master: errore di autenticazione per "/restricted/file.zip": Password non corrispondente

Tuttavia, so che sto inviando la password corretta. Vedi sotto per la mia configurazione, eventuali commenti sono utili.

<Directory "C:/www/mydir/restricted"> 
    #AllowOverride AuthConfig 
    #Order allow,deny 
    #Allow from all 
    AuthType Basic 
    AuthName Restricted 
    AuthUserFile "C:/www/mydir/passwords/pass" 
    Require valid-user 
</Directory> 
<Directory "C:/www/mydir"> 
    Require all granted 
</Directory> 
<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "C:/www/mydir" 
    ServerName "fakeurl.com" 
    ErrorLog "C:/www/mydir/logs/error.log" 
    CustomLog "C:/www/mydir/logs/accesslog/access.log" common 
</VirtualHost> 
<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "C:/www/mydir" 
    ServerName "www.fakeurl.com" 
    ErrorLog "C:/www/mydir/logs/error.log" 
    CustomLog "C:/www/mydir/logs/accesslog/access.log" common 
</VirtualHost> 

risposta

22

Ho appena avuto lo stesso problema, mi stava facendo impazzire per l'ultima ora. Posso confermare che il suggerimento di Steve di inserire la password nella riga di comando funziona, quindi nel mio caso "htpasswd -b passwordfile user password" ha fatto il trucco.

Here è la segnalazione di errore pertinente in Apache.

+1

Invece di duplicare una risposta, Sarebbe stato meglio votare o commentare semplicemente su Steve's –

+5

@NickM Sono d'accordo, un commento sarebbe stato più appropriato.Sfortunatamente non avevo abbastanza credito al momento per commentare in StackOverflow e sentivo che sarebbe stato bello aggiungere il comando effettivo che ha funzionato per me e un collegamento al bug report. – Eddy

14

Hai creato la password con "htpasswd"?

htpasswd in httpd-2.4.4 è rotto (https://issues.apache.org/bugzilla/show_bug.cgi?id=54735).

Da quanto ho capito, il problema è specifico per Htpasswd in httpd-2.4.4, e si verifica solo se si inserisce manualmente la password, in modo da poter aggirare il problema effettuando una delle:

  • fornire la password sulla riga di comando (ad es. "htpasswd -b .htpasswd user password");
  • utilizza la versione di htpasswd su httpd-2.4.3;
  • utilizza l'autenticazione del digest invece dell'autenticazione di base (htdigest non è interessato);
  • attendere che venga rilasciato httpd-2.4.5;
  • applica la patch nel rapporto bug (che sembra funzionare) e ricostruisce htpasswd dal sorgente.
+3

Grazie - questo mi stava facendo impazzire per un'ora. Le semplici regressioni come questa in un'applicazione così matura sono imperdonabili. :-( –

+0

Mi ci è voluto così tanto tempo per pensare a googling come possibile problema dato che i miei pensieri erano gli stessi di @AndyLeeRobinson che "Regressioni semplici come questa in un'applicazione così matura sono semplicemente imperdonabili" –

Problemi correlati