Błąd HTTP 503. usługa jest niedostępna


395

Ogólnie jestem naprawdę nowy w konfigurowaniu serwerów internetowych. Mam IIS 8 na Windowsie 8 i staram się założyć małą witrynę lokalnie, jednocześnie pracując nad programowaniem. W usługach IIS wybieram opcję Dodaj witrynę, podaj nazwę, wskaż lokalizację, w której mam plik index.html (próbowałem różnych lokalizacji, ostatnio w katalogu c: \ inetpub \ wwwroot \ test -folder), a w przeciwnym razie użyj wszystkich domyślnych ustawienia. Jednak gdy próbuję przejść do localhost, dostaję

Błąd HTTP 503. usługa jest niedostępna.

Potwierdziłem, że pula została uruchomiona i dałem IIS_IUSRS pełną kontrolę nad folderem docelowym

Szukałem w okolicy, ale nie znalazłem niczego, co rozwiązałoby mój problem, i nie ma nic pomocnego w EventLog lub w folderze C: \ Windows \ System32 \ LogFiles \ HTTPERR

Czy ktoś mógłby mi powiedzieć, co jest nie tak?


5
Czy sprawdziłeś przeglądarkę wydarzeń, aby uzyskać więcej informacji?
Webplanet TFS Consulting

3
Przydatna lista kontrolna (choć jest to IIS7) tutaj blogs.msdn.com/b/webtopics/archive/2010/02/17/… - podejrzewam, że już to zrobiłeś, ale może pomóc
Webplanet TFS Consulting

120
Powód 1: Błąd HTTP 503. Usługa jest niedostępna, jeśli pula aplikacji odpowiedniej aplikacji Wep zostanie zatrzymana, wyłączona lub wstrzymana. lub Podana tożsamość użytkownika puli aplikacji może być nieprawidłowa z powodu wygasłego hasła lub zablokowana. Zobacz tę idealną poprawkę: morgantechspace.com/2013/12/…
kombsh

2
Zwykła sytuacja dla mnie, gdy WSZYSTKIE dzienniki są PUSTE, ale wciąż 503. Powody: 1. Najczęściej występuje konflikt portów. 2. URL ACL i rozwiązanie opisane poniżej.
Puterdo Borato,

Napotkałem ten sam problem, gdy moja wdrożona aplikacja IIS nie działała i wyświetlał mi błąd 503. Kiedy sprawdziłem basen, został zatrzymany i uruchomienie go rozwiązuje problem.
Hedego

Odpowiedzi:


448

Może się zdarzyć, że tożsamość użytkownika jest nieaktualna, zwłaszcza jeśli próbujesz uruchomić zatrzymaną pulę aplikacji, a kolejne żądanie ponownie się nie powiedzie.

W usługach IIS przejdź do pul aplikacji w obszarze Serwer, a następnie znajdź odpowiednią pulę aplikacji dla swojej witryny sieci Web i kliknij ją. W menu Ustawienia zaawansowane po prawej stronie wybierz Tożsamość i zmień ją, a następnie wprowadź nowego użytkownika i hasło. Kliknij pulę aplikacji ponownie i wybierz opcję Recycle, aby ją ponownie uruchomić.

Możesz także spróbować spojrzeć na komunikat o błędzie w Podglądzie zdarzeń, w obszarze Dzienniki systemu Windows, Aplikacja, karta Szczegóły.


22
Dokładnie tak się stało, gdy zmieniłem hasło tożsamości, która została użyta w procesie roboczym W3C. Dzięki
Toan Nguyen

8
Właśnie zmieniłem hasło użytkownika, a następnego dnia (po ponownym uruchomieniu) nie działało z powodu złego hasła. Potrzebuję listy rzeczy do zmiany po zmianie hasła!
Brian J,

2
Poszedłem do pul aplikacji i zdałem sobie sprawę, że jakoś moja strona została zatrzymana. Zrestartowałem go i kupę, działając jak nowy.
Jason L.,

Miałem ten sam problem. Za każdym razem, gdy pojawia się taki problem, Podgląd zdarzeń jest miejscem, w którym powinieneś szukać najpierw. Dziennik pięści do sprawdzenia to prawie zawsze: Dzienniki systemu Windows -> System. Komunikat o błędzie będzie przypominał: „Foo puli aplikacji został wyłączony. Usługa aktywacji procesów systemu Windows (WAS) napotkała błąd podczas uruchamiania procesu roboczego w celu obsługi puli aplikacji”. Jeśli jest to zła nazwa użytkownika lub hasło w tożsamości, zostanie to wspomniane w poprzednim dzienniku ostrzegawczym.
Jeremy Ray Brown

Mam problem polegający na tym, że AppPool został zatrzymany. właśnie zrestartowałem i naprawiłem.
sal

97

W moim przypadku problemem była DefaultAppPool. Zmieniłem „Załaduj profil użytkownika” na false, a teraz działa. Nie wiem jednak, czy są to skutki uboczne. wprowadź opis zdjęcia tutaj


10
To też działało dla mnie, chciałbym wiedzieć, dlaczego!
Patrick McDonald

2
Miałem również ten problem. Wydaje się absolutnie bizzare Microsft IIS ma wiele niejednoznacznych opcji bez żadnych wskazówek na temat efektów późniejszych.
Pogrindis

Zaraz! To się udało. Ja też chciałbym wiedzieć, dlaczego.
Lukas

4
Niektóre odpowiedzi na pytanie „dlaczego?” pytanie jest tutaj: stackoverflow.com/questions/17149132/...
Simon Mourier

2
@Luaan Zgadzam się całkowicie, że problem rozwiązany przez to leży po mojej stronie i moim zrozumieniu IIS ( lub jego braku ), ale istnieje dość niejasność wokół terminologii, chyba że jesteś biegły w metodzie, dla której IIS działa. Odkrywanie, dlaczego rozwiązałem mój problem, przynosi ulgę. Każdy dzień jest dniem szkolnym .
Pogrindis,

95

Inne odpowiedzi są w porządku. Ale w moim przypadku pracowałem nad urządzeniem z systemem Windows, na którym było już uruchomione stare IIS, IISExpress lub jakakolwiek inna strona internetowa. To, co się stało, to adresy URL adresów URL, które zostały w jakiś sposób zarezerwowane w systemie. Więc możesz to sprawdzić.

Oto polecenie konsoli, aby zrzucić wszystkie adresy URL adresów URL:

netsh http show urlacl

Sprawdź, co tu zwrócono, a jeśli coś pasuje do testowanego adresu URL, oto polecenie usunięcia jednego adresu URL acl (na przykład):

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

(uważaj, aby dokładnie zanotować, co tu robisz, na wypadek gdyby nie było to związane z pierwotnym problemem)


3
To zadziałało dla mnie świetnie! W moim przypadku pracowałem z RavenDB i próbowałem użyć aplikacji konsoli przed przejściem do aplikacji IIS. Po użyciu aplikacji konsoli aplikacja IIS nie będzie działać! Okazało się, że URL został zarezerwowany. Właśnie usunąłem ACL i wszystko jest w porządku!
N1njaB0b

1
Dobry. Miałem poprzednią stronę internetową związaną z portem, którego próbowałem użyć.
RJ Lohan,

Dzięki! Zrobiłem to także dla mnie - skonfigurowaliśmy Skype'a dla firm za pomocą WAP, ale stwierdziliśmy, że WAP był niestabilny i często się zatrzymywał i przechodził na ARR 3.0. Zostało kilka starych list ACL adresów URL dla programów lync i lyncdiscover na porcie 443, które przeszkadzały IIS i powodowały błędy 503 zamiast IIS obsługujących strony. Usunięcie starych list ACL rozwiązało problem.
drew010,

1
to jedyne rozwiązanie, które działa dla mnie. Dziękuję Ci.
Quannt

1
To zadziałało dla mnie! Miałem wcześniej działającą usługę hostingu i pracowałem nad powiązaniem jej z localhost: 443. Musiałem także wygenerować własny certyfikat i powiązać go z 443. W jakiś sposób są jakieś resztki (nawet po usunięciu certyfikatu usunąłem certyfikat SSL z:. netsh http delete sslcert ipport=127.0.0.1:443Musiałem także uruchomić:netsh http delete urlacl url=https://+:443/
Ninja

46

Sprawdź odpowiednią pulę aplikacji Application Framework - można ją zatrzymać. Jeśli tak, uruchom go i sprawdź ponownie.

Jeśli nadal występują problemy, możesz także sprawdzić Podgląd zdarzeń, aby znaleźć przyczynę tego błędu, aby rozwiązać więcej problemów.


Tak, Event Viewer to twój przyjaciel! Znalazłem ten błąd po aktualizacji Windows 10 Anniversary z września 2016 r. - w jakiś sposób zepsuł się moduł DLL IIS Rewrite 2. Naprawiłem go w „Programach i funkcjach”, a następnie ponownie uruchomiłem pulę aplikacji.
James McCormack

31

Jeśli to pomaga komukolwiek, a to może być śmieszne, ale dla mnie nie oczywiste, czy pula aplikacji nie została uruchomiona. Przypuszczałem, że po uruchomieniu witryny lub utworzeniu puli aplikacji zacznie się. W rzeczywistości nie wiedziałem nawet, że musisz uruchomić pulę aplikacji ...


7
to był mój problem. Nie śmieję się tutaj.
Jared Beach

4
Ustawiam pulę aplikacji na moją tożsamość (logowanie do systemu Windows). Dziś rano komputer poprosił mnie o zmianę hasła. Potem uruchamiam iis, ta sprawa się zdarzyła. Następnie sprawdzam pulę aplikacji i zmieniam tożsamość. Wprowadź nowe hasło, a następnie wszystko będzie dobrze.
toha

25

Pula aplikacji zatrzymana

W moim przypadku pula aplikacji została zatrzymana. Uruchomienie rozwiązało problem.

Moja strona jest hostowana na Arvixe. Problem z błędem prawdopodobnie wystąpił, ponieważ mam aplikację opartą na członkostwie i podczas przesyłania plików wydarzyło się coś złego.


to samo w moim przypadku.
Uthistran Selvaraj,

23

Jeśli pula aplikacji działa z pewną tożsamością użytkownika, a następnie ponownie przejdź do zaawansowanych ustawień aktualizacji nazwy użytkownika, zadziałało to dla mnie.


18

Jeśli pula aplikacji natychmiast się zatrzyma po uruchomieniu, a dziennik zdarzeń pokaże:

Proces roboczy dla puli aplikacji „APP_POOL_NAME” napotkał błąd „Nie można odczytać pliku konfiguracyjnego” podczas próby odczytu danych konfiguracyjnych z pliku „?”, Numer wiersza „0”. Pole danych zawiera kod błędu.

... możesz napotkać błąd, który najwyraźniej został wprowadzony w Windows 10 Fall Creators Update i / lub .Net Framework v4.7.1. Można to rozwiązać za pomocą następujących kroków obejścia, które są od tej odpowiedzi na powiązane pytanie Nie można odczytać pliku konfiguracyjnego „próbuje odczytać dane konfiguracyjne z pliku„ \\? \ <EMPTY> ”, numer wiersza„ 0 ” .

  1. Przejdź na dysk, na którym są zainstalowane IIS, np. C:\inetpub\temp\appPools\
  2. Usuń katalog (lub katalog wirtualny) o tej samej nazwie co pula aplikacji.
  3. Odtwórz / Uruchom ponownie pulę aplikacji.

Zgłosiłem ten błąd do firmy Microsoft, tworząc następujący problem w repozytorium dotit GitHub: Po zainstalowaniu 4.7.1 IIS AppPool zatrzymuje się z komunikatem „Nie można odczytać pliku konfiguracyjnego” .

EDYTOWAĆ

Microsoft odpowiedział, że jest to znany problem z procesem instalacji systemu Windows dla Fall Creators Update i został udokumentowany w KB 4050891, aplikacje sieci Web zwracają błąd HTTP 503 i zdarzenie WAS 5189 w systemie Windows 10 w wersji 1709 (Fall Creators Update) . Ten artykuł zawiera następującą procedurę obejścia, która jest podobna do powyższej. Należy jednak pamiętać, że przetworzy wszystkie pule aplikacji, niezależnie od tego, czy problem ich dotyczy.

  1. Otwórz okno Windows PowerShell, używając opcji Uruchom jako administrator.
  2. Uruchom następujące polecenia:
    • Stop-Service -Force WAS
    • Remove-Item -Recurse -Force C:\inetpub\temp\appPools\*
    • Start-Service W3SVC

To najlepsza odpowiedź, którą należy oznaczyć jako odpowiedź.
Eriawan Kusumawardhono


10

Zacznij od przejrzenia w Podglądzie zdarzeń w dzienniku systemu lub aplikacji.

W moim przypadku problem polegał na tym, że nie można uruchomić procesu roboczego dla puli aplikacji, ponieważ nie można odczytać jego pliku konfiguracyjnego - dołączyłem dodatkowe „”. na końcu jego nazwy.


9

Dla Windows Server 2012 R2 zrobiłem to: IIS> App .. Pule> (miałem czarny kwadrat „stop”)> kliknij prawym przyciskiem myszy> start


8

Możliwe, że domena wymaga konta używanego do uruchomienia AppPool, aby mieć prawa do logowania wsadowego. W takim przypadku zobaczysz ten sam komunikat o błędzie. W ten sposób można stwierdzić, czy tak jest, patrząc na zdarzenia systemowe w Podglądzie zdarzeń. Powinno być zdarzenie informujące, że konto używane z pulą aplikacji ma albo „złe hasło, albo nie ma praw do logowania wsadowego”.

Dlatego programiści dość często używają IIS Express na swoich komputerach programistycznych, ponieważ pomija to problem z prawami do logowania wsadowego.


8

W moim przypadku pula korzysta z niestandardowej tożsamości (konto i hasło). Po wygaśnięciu hasła i ponownym załadowaniu wystąpił błąd. Po prostu poprawiam hasło w tożsamości


1
Hasło zostało zmienione na Użytkownik w puli aplikacji
phil soady

Właśnie miałem ten sam problem :)
krolik 11.10.16

2
To mi pomogło Wybierz pulę i kliknij Ustawienia zaawansowane -> Model procesu -> Tożsamość -> Kliknij nazwę użytkownika, aby zobaczyć (...) Kliknij przycisk Ustaw i zaktualizuj hasło.
Vignesh Chinnaiyan,

7

Wystąpił ten sam problem, ale był to problem z rzeczywistymi ustawieniami witryny w IIS.

Wybierz Advanced Settings...dla swojej witryny / aplikacji, a następnie spójrz na Enabled Protocolswartość. Dla każdego rezonansu wartość była pusta dla mojej witryny i spowodowała następujący błąd:

Błąd HTTP 503. usługa jest niedostępna.

Poprawka polegała na dodaniu httpi wybraniu OK. Witryna znów działała.


1
+1: Bingo! W moim przypadku zacząłem wymagać protokołu SSL, więc moją poprawką było dodanie http, httpsw tym samym polu. Dzięki!
Jim G.

Tak! Najwyraźniej ktoś zmienił protokół na htt4p. Nie mam pojęcia, jak to się stało, ale mój zespół nie zarządza nim w środowisku premii. Super frustrujące.
StriplingWarrior

6

W moim przypadku utworzyłem nową pulę aplikacji i zapomniałem ją uruchomić.


Czasami mam podobną sytuację. Nie jestem pewien dlaczego, ale pula aplikacji zatrzymuje się. Kliknij prawym przyciskiem myszy -> Start zwykle rozwiązuje mój problem.
Milton,

AppPool ... jaki ogromny stos parującego gówna to IIS. Apache pokonuje to gówno w każdej chwili
Gianluca Ghettini

5

Sprawdź Podgląd zdarzeń - Windows - Aplikacja. Jeśli z IIS-W3SVC-WP jest utworzona czerwona linia błędu, a komunikat wygląda na to, że nie można załadować biblioteki DLL modułu C: \ Windows \ system32 \ inetsrv \ rewrite.dll. Dane są błędem. brakuje niektórych funkcji Instalatora Windows.

W systemie Windows Server 2012 przejdź do Menedżera serwera, Dodaj role i funkcje, Serwer sieci Web (IIS) i dodaj pasującą funkcję. Zwykle większość sekcji tworzenia aplikacji jest zainstalowana. Oto pełna lista funkcji IIS i powiązanych z nimi bibliotek DLL, które pomagają w diagnozowaniu.

Po przejściu kilku iteracji skończyłem na powyższym komunikacie o błędzie dotyczącym „rewrite.dll”. Doprowadziło to do bezpośredniego pobrania i instalacji narzędzia Microsoft URL Rewrite . W końcu wszystkie strony internetowe ożyły.


1
ten sam scenariusz! ReWritebrak modułu w IIS. jak wspomniałeś, problem zostanie rozwiązany po instalacji From Here
Ali Kashanchi,

4
Miałem zainstalowany moduł URL Rewrite 2.0. Stwierdziłem jednak, że muszę naprawić instalację w „Programach i funkcjach” (Windows 10).
bentsai,

5

Lub jeśli żadne z obecnych rozwiązań nie działa, poszukaj w katalogu swojej witryny pliku o nazwie app_offline.htm. To w zasadzie mówi IIS, że Twoja strona jest niedostępna i zamiast tego wyświetla tę stronę.

Aby to naprawić, usuń go lub zmień nazwę na app_offline.htm.bak.

W moim przypadku dodałem go, pokazując współpracownikowi, jak tymczasowo zablokować ruch na stronie, a potem zapomniałem, że zrobiłem to na moim urządzeniu. Westchnienie.


1
Ta odpowiedź właśnie mnie uratowała w moim IIS
YChi Lu

4

Postępowałem zgodnie z linkiem Rozwiąż błąd 503 powyżej. W moim przypadku pula aplikacji zatrzymywała się za każdym razem, gdy kliknąłem plik svc prawym przyciskiem myszy i wybrałem „Przeglądaj”.

Wykonałem poniższe kroki, aby rozwiązać problem zatrzymania puli aplikacji

Korzystam z systemu Windows Server 2008 R2.

W mojej puli aplikacji menedżera IIS kliknąłem prawym przyciskiem myszy pulę aplikacji, która mnie interesuje, i kliknąłem Ustawienia zaawansowane. Spowoduje to otwarcie wyskakującego okna Ustawienia zaawansowane.

W sekcji Model procesu kliknij opcję Tożsamość i kliknij przycisk Ustaw w wyskakującym okienku Tożsamość puli aplikacji. Spowoduje to otwarcie wyskakującego okienka Ustaw poświadczenia, w którym podałem Nazwę użytkownika, hasło, potwierdź hasło i kliknąłem OK.

Teraz, kiedy klikam prawym przyciskiem myszy mój plik svc, otwiera się on w przeglądarce IE.


4

Jeśli masz zainstalowane IIS URL Recriting, może to być związane z tym. Wystąpiły problemy po aktualizacji systemu Windows 10.

Ten post StackOverflow pomógł mi.

Idź do Windows Control Panel> Programs and Features> IIS URL Rewrite Module 2> Repair.


To była odpowiedź. Żądania do witryny zatrzymują uruchomioną pulę aplikacji, ponieważ moduł przekierowania jest „uszkodzony” po dużej aktualizacji. Dzięki.
SpaceBison

4

W moim przypadku Moja domyślna pula aplikacji była w trybie offline. Aby rozwiązać problem, sprawdziłem dzienniki IIS znajdujące się w C: \ Windows \ System32 \ LogFile \ HTTPERR Przewiń w dół do najnowszych dzienników błędów, to pokaże ci problemy z IIS, jeśli dowolny Mój błąd to „503 1 AppOffline DefaultPool”

Rozwiązanie Otwórz Menedżera usług IIS, -Kliknij Pule aplikacji, to wyświetli listę wszystkich pul aplikacji po prawej stronie. -Sprawdź, czy w pulach aplikacji obsługujących interfejs API lub witrynę znajduje się znak stop. Jeśli tak, kliknij pulę aplikacji prawym przyciskiem myszy i kliknij przycisk Start. _ Ponów próbę uzyskania dostępu do usługi od klienta To zadziałało dla mnie. Krzyczy na @kombsh


3

Na naszym serwerze zabrakło miejsca na dysku w niedzielne popołudnie, co spowodowało, że aplikacja nagle przestała działać i zwracał błąd HTTP 502. Dzienniki były puste, więc musiało to być coś, co występowało, zanim IIS cokolwiek zrobiło.

Szybkie spojrzenie na przeglądarkę zdarzeń ( WIN+R > eventvwr) ujawniło problem. wprowadź opis zdjęcia tutaj

Dobrym pomysłem jest odfiltrowanie danych wyjściowych systemu i okien aplikacji do WAS, ponieważ może tam być dość gadatliwy.

Aplikacja zależała od innej, która została wyłączona. Dlatego należy pamiętać, że aplikacja może zostać wyłączona pośrednio, jeśli jeden z jej zależnych procesów ulegnie awarii. Po prostu ponownie włączyliśmy pulę aplikacji .NET, a nasza inna aplikacja zaczęła normalnie działać.


3

Właściwie w moim przypadku działał https: // localhost , ale http: // localhost podał wewnętrzny błąd serwera HTTP 503. Zmiana powiązania domyślnej witryny sieci Web w usługach IIS w celu używania nazwy hosta localhost zamiast pustej nazwy hosta.

Powiązania witryn IIS dla HTTPt nazwa wiązania http



2

Po kilku próbach i błędach dowiedziałem się, że pula aplikacji została skonfigurowana do używania mojego konta domeny jako tożsamości i przypomniałem sobie, że wcześniej zmieniłem hasło mojego konta domeny. Zresetowanie tożsamości puli aplikacji (przy użyciu mojego nowego hasła) rozwiązało problem i pulę aplikacji można było ponownie uruchomić bez żadnych problemów.


2

W moim przypadku problem polegał na tym, że inna aplikacja używała portu, który powiązałem z moją witryną.

Znalazłem go, uruchamiając następującą komendę z wiersza komend, która zawiera listę wszystkich portów nasłuchiwania i związanych z nimi plików wykonywalnych:

netstat -b

2

Miałem dzisiaj ten sam błąd. Problem polegał na tym, że niedawno zmieniłem hasło domeny, więc musiałem je zaktualizować w każdej puli aplikacji, w Ustawieniach zaawansowanych> Model procesu> Poświadczenia tożsamości.


2

To samo dotyczy IIS Express 10.0 po uaktualnieniu systemu Windows 7 do Windows 10. Rozwiązanie: przejdź do IIS i włącz wszystkie wyłączone strony internetowe i zainstaluj ponownie ASP.NET Core.


2

Jeśli masz program McAfee HIPS i widzisz następujący błąd w dzienniku aplikacji przeglądarki zdarzeń:

Nie można załadować biblioteki DLL C: \ Windows \ System32 \ inetsrv \ HipIISEngineStub.dll.
Dane są błędem.

Następnie to obejście na McAfee.com rozwiązało problem w moim przypadku.

Cytat ze strony:

  1. Kliknij Start, Uruchom, wpisz explorer i kliknij OK.
  2. Przejdź do:% windir% \ system32 \ inetsrv \ config
  3. Otwórz plik applicationHost.config jako Administrator do edycji w Notatniku.
  4. Edytuj sekcję <globalModules> i usuń następujący wiersz:
    <add name = "MfeEngine" image = "% windir% \ System32 \ inetsrv \ HipIISEngineStub.dll" />

  5. Edytuj sekcję <modules> i usuń następujący wiersz:
    <add name = "MfeEngine" />

  6. Po zakończeniu edycji pliku applicationHost.config zapisz plik, a następnie zrestartuj serwer IIS za pomocą programu iisreset lub poprzez zrestartowanie systemu.

2

Sprawdź także pasek adresu i upewnij się, że strona znajduje się we właściwej lokalizacji.

Ten błąd można zwrócić zamiast 404 (nie znaleziono strony). W moim przypadku był to zły link na stronie, który nie zawierał podfolderu.


2

Długo miałem ten sam problem i myślałem, że jest problem z moim kodem. Okazuje się, że na serwerze IIS moja pula aplikacji dla tego konkretnego projektu została zatrzymana. Włączyłem go ponownie i to rozwiązało problem. Błąd 503 jest najprawdopodobniej związany z pulą aplikacji

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.