HTTP Errore 503. Il servizio non è disponibile


395

Sono davvero nuovo a configurare i server Web in generale. Ho IIS 8 su Windows 8 e sto provando a configurare un piccolo sito localmente, mentre sto facendo un po 'di sviluppo. In IIS scelgo Aggiungi sito, assegna un nome, punta a un percorso in cui ho un file index.html (ho provato diversi percorsi, più recenti in una cartella c: \ inetpub \ wwwroot \ test ) e uso altrimenti tutti i valori predefiniti impostazioni. Tuttavia, quando provo a navigare su localhost ottengo

HTTP Errore 503. Il servizio non è disponibile.

Ho verificato che il pool è stato avviato e ho dato il controllo completo IIS_IUSRS sulla cartella di destinazione

Ho cercato in giro ma non ho trovato nulla che abbia risolto il mio problema e non c'è nulla di utile in EventLog o nella cartella C: \ Windows \ System32 \ LogFiles \ HTTPERR

Qualcuno potrebbe dirmi cosa c'è che non va?


5
Hai controllato il visualizzatore eventi per ulteriori informazioni?
Webplanet TFS Consulting

3
Un utile elenco di controllo (anche se è IIS7) qui blogs.msdn.com/b/webtopics/archive/2010/02/17/… - sospetto che tu abbia già effettuato questi controlli, ma può aiutarti
Webplanet TFS Consulting

121
Motivo 1: errore HTTP 503. Il servizio non è disponibile se il pool di applicazioni dell'applicazione Wep corrispondente viene arrestato o disabilitato o sospeso. oppure L'identità dell'utente del pool di applicazioni fornita potrebbe non essere valida a causa della password scaduta o bloccata. Vedi questa soluzione perfetta: morgantechspace.com/2013/12/…
kombsh

2
La solita situazione per me quando TUTTI i registri sono VUOTI ma comunque 503. Ragioni: 1. Il conflitto di porte è il più spesso. 2. URL ACL e soluzione descritti di seguito.
Puterdo Borato,

Ho riscontrato lo stesso problema in cui la mia applicazione distribuita IIS non era in esecuzione e mi mostrava un errore 503. Quando ho controllato il pool, è stato arrestato e l'avvio risolve il problema.
Hedego,

Risposte:


449

È possibile che l'identità dell'utente sia obsoleta, soprattutto se si è tentato di avviare un pool di app arrestato e la richiesta successiva non riesce nuovamente.

In IIS, vai ai Pool di applicazioni sotto il Server, quindi trova il Pool di applicazioni corretto per il tuo sito web e fai clic su di esso. Nel menu Impostazioni avanzate a destra, selezionare Identità e modificarlo e immettere nuovo utente e password. Fai di nuovo clic sul tuo pool di applicazioni e seleziona Ricicla per riavviarlo.

Puoi anche provare a guardare il messaggio di errore nel Visualizzatore eventi, nella scheda Registri di Windows, Applicazione, Dettagli.


23
Questo è esattamente quello che mi è successo quando ho cambiato la password dell'identità utilizzata per il processo di lavoro W3C. Grazie
Toan Nguyen il

8
Ho appena cambiato la mia password utente e il giorno successivo (dopo un riavvio) non funzionava a causa di una password errata. Ho bisogno di un elenco di cose da cambiare quando cambio la mia password!
Brian J,

2
Sono andato ai pool di applicazioni e mi sono reso conto che in qualche modo il mio sito era stato bloccato. L'ho riavviato e ho fatto, funzionando come nuovo.
Jason L.,

Ho avuto lo stesso problema. Ogni volta che si verifica un problema come questo, il Visualizzatore eventi è dove dovresti prima cercare. Il registro del pugno da controllare è quasi sempre: Registri di Windows -> Sistema. Il messaggio di errore sarà simile a "Pool di applicazioni Foo è stato disabilitato. Il servizio di attivazione del processo di Windows (WAS) ha riscontrato un errore quando ha avviato un processo di lavoro per servire il pool di applicazioni." Se si tratta di un nome utente o di una password errati nell'identità, questo verrà menzionato in un registro di avviso precedente.
Jeremy Ray Brown,

Ho un problema è che AppPool si è fermato. ho appena riavviato e riparato.
sal

97

Nel mio caso il problema era DefaultAppPool. Ho cambiato il "Carica profilo utente" in falso e ora funziona. Tuttavia, non so se ci sono effetti collaterali a questo. inserisci qui la descrizione dell'immagine


10
Questo è ciò che ha funzionato anche per me, mi piacerebbe sapere perché!
Patrick McDonald,

2
Ho anche avuto questo problema .. Sembra assolutamente bizzarro Microsft IIS ha molte opzioni ambigue senza alcuna indicazione sugli effetti collaterali.
Pogrindis,

Whoa! Ha funzionato Anche a me piacerebbe sapere perché.
Lukas,

4
Alcune risposte al "perché?" domanda qui: stackoverflow.com/questions/17149132/…
Simon Mourier,

2
@Luaan Sono completamente d'accordo, il problema risolto da questo risiede in me e nella mia comprensione di IIS ( o della sua mancanza ), ma c'è un po 'di ambiguità attorno alla terminologia a meno che tu non sia esperto nel metodo per il quale IIS funziona. Avendo scoperto perché ha risolto il mio problema, mi sta alleviando. Ogni giorno è un giorno di scuola .
Pogrindis,

95

Altre risposte vanno bene. Ma nel mio caso, stavo lavorando su una finestra di Windows che già eseguiva un vecchio IIS, IISExpress o qualsiasi altro sito web. Ciò che è accaduto è l'URL ACL prenotato in qualche modo nel sistema. Quindi, potresti voler controllare questo.

Ecco il comando console per scaricare tutti gli URL URL:

netsh http show urlacl

Controlla cosa viene restituito qui e se qualcosa corrisponde all'URL che stai testando, ecco il comando per eliminare un URL acl (ad esempio):

netsh http delete urlacl url=http://localhost:2018/

(attenzione a notare attentamente cosa fai qui nel caso in cui non fosse correlato al problema originale)


3
Questo ha funzionato alla grande per me! Nel mio caso, stavo lavorando con RavenDB e ho provato a utilizzare l'app console prima di utilizzare l'app IIS. Dopo aver utilizzato l'app console, l'app IIS non funzionava! Si è scoperto perché l'URL è stato prenotato. Ho appena eliminato l'ACL ed è tutto a posto!
N1njaB0b

1
Buona Avevo una precedente soluzione di sito Web associata alla porta che stavo cercando di utilizzare.
RJ Lohan,

Grazie! Lo ha fatto anche per me: avevamo configurato Skype for Business utilizzando WAP ma trovavamo che WAP era instabile e si fermava di frequente e passava ad ARR 3.0. C'erano alcuni vecchi URL ACL lasciati indietro per lync e lyncdiscover sulla porta 443 che stavano ostacolando IIS e causando errori 503 invece di IIS che servivano le pagine. L'eliminazione dei vecchi ACL ha risolto il problema.
drew010,

1
questa è l'unica soluzione che funziona per me. Grazie.
Quannt,

1
Questo ha funzionato per me! Avevo già eseguito un servizio di self hosting e ho lavorato per legarlo a localhost: 443. Ho anche dovuto generare un certificato automatico e collegarlo a 443. In qualche modo ci sono dei resti (anche dopo aver eliminato il certificato, eliminato il certificato SSL con:. netsh http delete sslcert ipport=127.0.0.1:443Ho anche dovuto eseguire:netsh http delete urlacl url=https://+:443/
Ninja

46

Controllare il rispettivo Pool di framework applicativi dell'applicazione: potrebbe essere arrestato. In tal caso, avviarlo e ricontrollare.

Se i problemi persistono, puoi anche consultare il Visualizzatore eventi per trovare la causa dell'errore al fine di risolvere altri problemi.


Sì, Event Viewer è tuo amico! Ho riscontrato che questo errore si è verificato dopo l'aggiornamento dell'anniversario di Windows 10 di settembre 2016 - in qualche modo ha rotto il modulo DLL IIS Rewrite 2. Riparandolo in "Programmi e funzionalità", quindi riavviando il pool di app, l'ho risolto per me.
James McCormack,

31

Se aiuta qualcuno, e questo può essere ridicolo, ma non ovvio per me, il pool di applicazioni non è stato avviato. Ho solo supposto di avviare il sito Web o creare il pool di applicazioni, sarebbe iniziato. In realtà, non sapevo nemmeno che avessi dovuto avviare il pool di applicazioni ...


7
quello era il mio problema. Non ridere qui.
Jared Beach,

4
Ho impostato il pool di app con la mia identità (accesso a Windows). Stamattina il pc mi ha chiesto di cambiare la password. Poi corro IIS, questo caso è successo. Quindi controllo il pool di app e cambio identità. Inserisci una nuova password, quindi tutto va bene.
toha

25

Pool di applicazioni interrotto

Nel mio caso, il pool di applicazioni si era interrotto. L'avvio ha risolto il problema.

Il mio sito Web è ospitato su Arvixe. Probabilmente il problema si è verificato perché ho un'applicazione basata sull'appartenenza e qualcosa di brutto è successo durante il caricamento dei file.


lo stesso nel mio caso.
Uthistran Selvaraj,

23

Se il pool di app è in esecuzione con alcune identità utente, vai di nuovo alle impostazioni avanzate di aggiornamento della password del nome utente, ha funzionato per me.


18

Se il pool di app si interrompe immediatamente dopo l'avvio e viene visualizzato il registro eventi:

Il processo di lavoro per il pool di applicazioni 'APP_POOL_NAME' ha riscontrato un errore 'Impossibile leggere il file di configurazione' durante il tentativo di leggere i dati di configurazione dal file '\? \', Numero di riga '0'. Il campo dati contiene il codice di errore.

... potresti riscontrare un bug apparentemente introdotto in Windows 10 Fall Creators Update e / o .Net Framework v4.7.1. Può essere risolto tramite i seguenti passaggi di soluzione, che derivano da questa risposta alla domanda correlata Impossibile leggere il file di configurazione 'tentando di leggere i dati di configurazione dal file' \\? \ <EMPTY> ', numero di riga' 0 ' .

  1. Vai all'unità su cui è installato IIS, ad es. C:\inetpub\temp\appPools\
  2. Elimina la directory (o la directory virtuale) con lo stesso nome del pool di app.
  3. Ricicla / Avvia nuovamente il pool di app.

Ho segnalato questo errore a Microsoft creando il seguente problema sul repository GitHub dotnet: Dopo l'installazione 4.7.1, IIS AppPool si interrompe con "Impossibile leggere il file di configurazione" .

MODIFICARE

Microsoft ha risposto che si tratta di un problema noto con il processo di installazione di Windows per Fall Creators Update ed è stato documentato in KB 4050891, le applicazioni Web restituiscono l'errore HTTP 503 e l'evento WAS 5189 su Windows 10 versione 1709 (Fall Creators Update) . Tale articolo fornisce la seguente procedura alternativa, simile a quella sopra. Tuttavia, tieni presente che riciclerà tutti i pool di app indipendentemente dal fatto che siano interessati dal problema.

  1. Aprire una finestra di Windows PowerShell utilizzando l'opzione Esegui come amministratore.
  2. Esegui i seguenti comandi:
    • Stop-Service -Force WAS
    • Remove-Item -Recurse -Force C:\inetpub\temp\appPools\*
    • Start-Service W3SVC

Questa è la risposta migliore e deve essere contrassegnata come risposta.
Eriawan Kusumawardhono,


10

Inizia guardando nel Visualizzatore eventi, nel registro di sistema o dell'applicazione.

Nel mio caso il problema era che nessun processo di lavoro poteva essere avviato per il pool di app perché non era possibile leggere il suo file di configurazione - avevo incluso un ulteriore '.' alla fine del suo nome.


9

Per Windows Server 2012 R2 ho fatto questo: IIS> App .. Pools> (aveva un riquadro 'stop' nero)> fai clic con il pulsante destro del mouse> avvia


8

È possibile che il tuo dominio richieda che l'account utilizzato per eseguire AppPool disponga dei diritti di accesso in batch. Nel qual caso vedrai questo stesso messaggio di errore. Il modo in cui puoi capire se è così, è guardando gli eventi di sistema nel Visualizzatore eventi. Dovrebbe esserci un evento che dice che l'account utilizzato con il pool di app ha "la password errata o non dispone dei diritti di accesso in batch".

Questo è il motivo per cui gli sviluppatori usano abbastanza spesso IIS Express sulla propria macchina di sviluppo, poiché supera il problema dei diritti di accesso batch.


8

Nel mio caso il Pool utilizza un'identità personalizzata (account e password). Dopo che la password è scaduta e ricaricata, l'errore si è verificato. Ho semplicemente corretto la password nell'identità


1
La password è stata modificata su Utente nel pool di app
phil soady,

Ho avuto lo stesso problema :)
Krolik l'

2
Questo mi aiuta. Selezionare il pool e fare clic su Impostazioni avanzate -> Modello di processo -> Identità -> Fare clic sul nome utente per visualizzare il (...) Fare clic sul pulsante Imposta e aggiornare la password.
Vignesh Chinnaiyan,

7

Ho riscontrato lo stesso problema, ma si trattava di un problema con le impostazioni effettive del sito in IIS.

Seleziona Advanced Settings...per il tuo sito / applicazione e poi guarda il Enabled Protocolsvalore. Per qualunque risonanza il valore era vuoto per il mio sito e ha causato il seguente errore:

HTTP Errore 503. Il servizio non è disponibile.

La correzione era aggiungere httpe selezionare OK. Il sito è stato quindi nuovamente funzionante.


1
+1: Bingo! Nel mio caso, ho iniziato a richiedere SSL, quindi la mia correzione era quella di aggiungere http, httpsnella stessa casella. Grazie!
Jim G.

Sì! Apparentemente qualcuno aveva cambiato il protocollo in htt4p. Non ho idea di come sia successo, ma è in un ambiente locale che il mio team non riesce. Super frustrante.
StriplingWarrior

6

Nel mio caso, ho creato un nuovo pool di app e ho appena dimenticato di avviarlo.


A volte ho una situazione simile. Non sono sicuro del perché, ma il pool di applicazioni si interrompe. Fare clic con il tasto destro -> Avvia di solito risolve il mio problema.
Milton,

AppPool ... che enorme mucchio di merda fumante è IIS. Apache batte la merda in qualsiasi momento
Gianluca Ghettini,

5

Controlla il Visualizzatore eventi - Windows - Applicazione. Se è presente una riga di errore rossa creata da IIS-W3SVC-WP e il messaggio è simile al caricamento della DLL del modulo C: \ Windows \ system32 \ inetsrv \ rewrite.dll. I dati sono l'errore.quindi ti mancano alcune funzionalità di installazione di Windows.

In Windows Server 2012 vai su Server Manager, Aggiungi ruoli e funzionalità, Web Server (IIS) e aggiungi la funzionalità corrispondente. Di solito, viene installata la maggior parte della sezione Sviluppo applicazioni. Ecco un elenco completo delle funzionalità di IIS e delle DLL associate per facilitare la diagnosi.

Dopo aver esaminato alcune iterazioni, ho concluso il messaggio di errore sopra "rewrite.dll". Ciò ha portato a un download diretto e all'installazione dello strumento di riscrittura URL di Microsoft . Alla fine tutti i siti web hanno preso vita.


1
stesso scenario! ReWritemancava il modulo da IIS. come hai detto, il problema verrà risolto dopo averlo installato From Here
Ali Kashanchi,

4
Ho installato il modulo URL Rewrite 2.0. Tuttavia, ho scoperto che dovevo riparare l'installazione in "Programmi e funzionalità" (Windows 10).
bentsai,

5

O se nessuna delle soluzioni attuali funziona, cerca nella directory del tuo sito web un file chiamato app_offline.htm . Questo in sostanza dice a IIS che il tuo sito non è disponibile e che mostra invece questa pagina.

Per risolverlo, eliminalo o rinominalo in app_offline.htm.bak .

Nel mio caso, l'ho aggiunto mentre mostravo a un collega come usarlo per impedire temporaneamente il traffico al sito e poi ho dimenticato di averlo fatto sulla mia scatola. Sospiro.


1
Questa risposta mi salva solo oggi nel mio IIS
YChi Lu

4

Ho seguito il link Risolvi errore HTTP 503 sopra. Nel mio caso il mio pool di applicazioni si fermava ogni volta che facevo clic con il tasto destro sul mio file svc e scegli "Sfoglia".

Ho seguito i passaggi seguenti per risolvere il problema di arresto del pool di applicazioni

Sto usando Windows Server 2008 R2.

Nel mio pool di applicazioni del gestore IIS, ho fatto clic con il pulsante destro del mouse sul pool di applicazioni a cui sono interessato e ho fatto clic su Impostazioni avanzate. Questo apre il popup Impostazioni avanzate.

Nella sezione Modello di processo, fare clic su Identità e fare clic sul pulsante Imposta nel popup Identità pool di applicazioni. Si aprirà il popup Imposta credenziali in cui ho fornito Nome utente, password e conferma password e ho fatto clic su OK.

Ora quando faccio clic con il tasto destro sul mio file svc si apre nel browser IE.


4

Se hai installato IIS URL Rewriting potrebbe avere a che fare con quello. Ho riscontrato problemi dopo un aggiornamento di Windows 10.

Questo post StackOverflow mi ha aiutato.

Vai a Windows Control Panel> Programs and Features> IIS URL Rewrite Module 2> Repair.


Questa era la risposta Le richieste al sito interrompono il pool di app avviato a causa del modulo di reindirizzamento "corrotto" dopo un grande aggiornamento. Grazie.
SpaceBison

4

Nel mio caso, Il mio pool di applicazioni predefinito era offline, per risolvere il problema, ho controllato i registri IIS situati in C: \ Windows \ System32 \ LogFile \ HTTPERR Scorri verso il basso fino ai registri degli errori più recenti, questo mostrerà problemi con IIS se any Il mio errore era "503 1 AppOffline DefaultPool"

Soluzione Apri Gestione IIS, -Fai clic su Pool di applicazioni, questo elenca tutti i pool di applicazioni alla tua destra. -Controllare se il pool di applicazioni che ospita l'API o il sito presenta un segnale di stop, in tal caso, fare clic con il pulsante destro del mouse sul pool di applicazioni e fare clic su Avvia. _Provare di nuovo ad accedere al tuo servizio dal client Questo ha funzionato per me. Urla a @kombsh


3

La domenica pomeriggio il nostro server ha esaurito lo spazio su disco, causando un errore improvviso dell'applicazione e la restituzione dell'errore HTTP 502. I registri erano vuoti, quindi doveva essere qualcosa che si stava verificando prima che IIS facesse qualcosa.

Una rapida occhiata al Visualizzatore eventi ( WIN+R > eventvwr) ha rivelato il problema. inserisci qui la descrizione dell'immagine

È una buona idea filtrare l'output delle finestre di sistema e delle applicazioni su WAS poiché può essere piuttosto dettagliato.

L'applicazione dipendeva da un'altra che era disabilitata. Pertanto, tieni presente che un'applicazione può andare indirettamente verso il basso se uno dei suoi processi dipendenti è andato giù. Abbiamo semplicemente riattivato il pool di applicazioni .NET e la nostra altra applicazione ha ripreso a funzionare normalmente.


3

In realtà, nel mio caso https: // localhost funzionava, ma http: // localhost ha dato un errore del server interno HTTP 503. Modifica dell'associazione del sito Web predefinito in IIS per utilizzare il nome host localhost anziché un nome host vuoto.

Binding del sito IIS per HTTPtname per il collegamento http



2

Dopo alcuni tentativi ed errori ho scoperto che il pool di app era configurato per utilizzare il mio account di dominio come identità e mi sono ricordato che avevo cambiato la password del mio account di dominio poco prima. Il ripristino dell'identità del pool di applicazioni (utilizzando la mia nuova password) ha risolto il problema e il pool di app potrebbe essere riavviato senza problemi.


2

Nel mio caso, il problema era che un'altra applicazione stava usando la porta che avevo associato al mio sito web.

L'ho trovato eseguendo il seguente comando da una riga di comando, che elenca tutte le porte di ascolto e l'eseguibile in questione:

netstat -b

2

Ho avuto lo stesso errore oggi. Il problema era che di recente ho modificato la password del dominio, quindi ho dovuto aggiornarla in ciascun pool di applicazioni, in Impostazioni avanzate> Modello di processo> Credenziali di identità.


2

Stessa cosa con IIS Express 10.0 dopo l'aggiornamento da Windows 7 a Windows 10. Soluzione: andare su IIS e abilitare tutti i siti Web disabilitati e reinstallare ASP.NET Core.


2

Se si dispone di McAfee HIPS e se viene visualizzato il seguente errore nel registro dell'applicazione del Visualizzatore eventi:

Impossibile caricare la DLL del modulo C: \ Windows \ System32 \ inetsrv \ HipIISEngineStub.dll.
I dati sono l'errore.

Quindi questa soluzione alternativa su McAfee.com risolto il problema nel mio caso.

Citazione dalla pagina:

  1. Fare clic su Start, Esegui, digitare explorer e fare clic su OK.
  2. Passare a:% windir% \ system32 \ inetsrv \ config
  3. Aprire il file applicationHost.config come amministratore per la modifica in Blocco note.
  4. Modifica la sezione <globalModules> e rimuovi la seguente riga:
    <add name = "MfeEngine" image = "% windir% \ System32 \ inetsrv \ HipIISEngineStub.dll" />

  5. Modifica la sezione <moduli> e rimuovi la seguente riga:
    <add name = "MfeEngine" />

  6. Dopo aver completato la modifica del file applicationHost.config, salvare il file, quindi riavviare il server IIS utilizzando iisreset o riavviando il sistema.

2

Controlla anche la barra degli indirizzi e assicurati che la pagina sia nella posizione corretta.

Questo errore può essere restituito al posto del 404 (Pagina non trovata). Nel mio caso, era un brutto link sulla pagina che non aveva una sottocartella inclusa.


2

Ho avuto lo stesso problema per il tempo più lungo e ho pensato che ci fosse un problema con il mio codice. Risulta, nel server IIS, il mio pool di applicazioni per quel particolare progetto è stato arrestato. L'ho riacceso e questo ha risolto il problema. L'errore 503 è probabilmente correlato al pool di applicazioni

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.