2010-10-08 15 views
19

ho creato sito sulla mia macchina locale che funziona bene su modalità di debug, ma quando ho messo il sito su IIS locale (7.5) della mia macchina ottengoErrore HTTP 401.1 - non autorizzato dal locale IIS

Errore HTTP 401.1 - Non autorizzato Non si dispone dell'autorizzazione per visualizzare questa directory o pagina utilizzando le credenziali fornite.

Impostazioni di autenticazione Ho finestre rappresentazione e l'autenticazione di Windows attivato e tutto il resto in quella sezione è disabilitata

Tutta la cartella di avere autorizzazioni complete

Qualcuno può dirmi cosa sta succedendo?

+0

Forse il registro eventi di Windows fornirà ulteriori informazioni. Di solito contiene alcune informazioni aggiuntive per questi tipi di errori. –

+0

è anche possibile attivare la registrazione del sito Web e cercare nei registri Web IIS, non sono sicuro se fornirebbero ulteriori informazioni o meno. – BlackICE

risposta

27

Come una soluzione rapida e sporca, concedere al gruppo IIS_IUSRSlettura/esecuzione o Modifica autorizzazioni per la cartella web ... ma non farlo su un server Internet FACING, continuate a leggere .. ..

per fissare correttamente questo si dovrebbe concedere l'Identità pool di applicazioni per il tuo sito lettura/esecuzione o Modifica autorizzazioni per cartella web dell'applicazione. Per fare ciò:

  1. Aprire Gestione IIS, passare al sito Web o alla cartella dell'applicazione in cui è distribuito il sito.
  2. Aprire Impostazioni avanzate (è sulla mano destra riquadro Azioni).
  3. Annotare il pool di applicazioni nome quindi chiudere questa finestra
  4. Fare doppio clic sul Authentication icona per aprire le impostazioni di autenticazione
  5. Disabilitare autenticazione di Windows
  6. Fare clic destro su autenticazione anonima e fare clic su Edit
  7. Scegliere il pulsante di opzione Application pool identity il clic OK
  8. Selezionare il nodo Pool di applicazioni da un albero responsabile di IIS sulla sinistra e selezionare il nome del pool di applicazioni annotato al punto 3
  9. Fare clic destro e selezionare Impostazioni avanzate
  10. Espandere le impostazioni Modello di processo e scegli ApplicationPoolIdentity dal "Account incorporato" dall'elenco a discesa, quindi fare clic su OK.
  11. Clicca OK di nuovo per salvare e chiudere la pagina Pool di applicazioni impostazioni avanzate
  12. Aprire una riga di comando amministratore (tasto destro sull'icona del CMD e selezionare "Esegui come amministratore". Sarà da qualche parte sul vostro menu di avvio, probabilmente sotto Accessori.
  13. Eseguire il seguente comando:

icacls <path_to_site> /grant "IIS APPPOOL\<app_pool_name>"(CI)(OI)(M)

Ad esempio:

icacls C:\inetpub\wwwroot\mysite\ /grant "IIS APPPOOL\DEFAULTAPPPOOL":(CI)(OI)(M)

Se tutto è buono icacls.exe riporterà:

 
processed file: c:\inetpub\wwwroot\mysite 
Successfully processed 1 files; Failed processing 0 files 
+0

buon lavoro, ben fatto! –

+0

Grazie mille, ho questo problema fastidioso ogni volta che faccio una nuova installazione. Sarò Googling per questo errore ancora in circa 3 anni! ;-) –

+7

Come nota, ho dovuto prendere i passaggi aggiuntivi descritti in questo articolo della Knowledge Base http://support.microsoft.com/kb/896861. Si tratta di un problema che si verifica quando si utilizzano intestazioni personalizzate per esplorare un sito Web su un indirizzo di loopback locale. –

0

I al così ho avuto lo stesso problema. rimuovo semplicemente l'applicazione. creato un nuovo floder e lo ha ospitato di nuovo. problema risolto.

+1

Potresti descrivere i passaggi che hai seguito? Non capisco perché questo dovrebbe funzionare - è più probabile che qualcosa abbia a che fare con i permessi sulla cartella? – ozzy432836

Problemi correlati