Помилка HTTP 503. послуга недоступна


395

Я взагалі новачок у створенні веб-серверів взагалі. У мене є IIS 8 на Windows 8, і я намагаюся створити невеликий сайт локально, роблячи певні розробки. У IIS я вибираю Додати сайт, вказую ім’я, вказує на місце, де у мене є файл index.html (я пробував різні місця, останнє в c: \ inetpub \ wwwroot \ test- folder) і в іншому випадку використовую всі за замовчуванням налаштування. Однак, коли я намагаюся перейти до localhost, я отримую

Помилка HTTP 503. послуга недоступна.

Я перевірив, що пул запущений, і я надав IIS_IUSRS Повний контроль у цільовій папці

Я здійснив пошук, але не знайшов нічого, що вирішило б мою проблему, і немає нічого корисного в папці EventLog або в папці C: \ Windows \ System32 \ LogFiles \ HTTPERR

Хтось може мені сказати, що не так?


5
Ви перевірили переглядач подій для отримання додаткової інформації?
Webplanet TFS Consulting

3
Корисний контрольний список (навіть якщо це IIS7) тут blogs.msdn.com/b/webtopics/archive/2010/02/17/… - я підозрюю, що ви вже зробили ці перевірки, але може допомогти
Webplanet TFS Consulting

120
Причина 1: Помилка HTTP 503. Послуга недоступна, якщо пул додатків відповідної програми Wep зупинений або відключений або призупинено. або Даний користувачем ідентифікаційний пул програми може бути недійсним через прострочений пароль або заблокований. Дивіться це ідеальне виправлення: morgantechspace.com/2013/12/…
комбш

2
Звичайна для мене ситуація, коли ВСІ журнали ВИПУСНІ, але все ще 503. Причини: 1. Найчастіше виникає конфлікт між портами. 2. URL-адреса ACL та рішення, описані нижче.
Путердо Борато

Я зіткнувся з тією ж проблемою, коли мій розгорнутий додаток IIS не працював, і показав мені помилку 503. Коли я перевірив басейн, його зупинили і запуск його вирішує проблему.
Хедего

Відповіді:


448

Можливо, ідентифікація користувача застаріла, особливо якщо ви спробували запустити пул призупинених програм і наступний запит знову не вдасться.

У IIS перейдіть до пулів додатків на сервері, потім знайдіть правильний пул додатків для свого веб-сайту та натисніть на нього. У меню розширених налаштувань праворуч виберіть Identity та змініть його та введіть нового користувача та пароль. Клацніть свій пул додатків ще раз та виберіть Recycle, щоб перезапустити його.

Ви також можете спробувати переглянути повідомлення про помилку в «Переглядачі подій» на вкладці Журнали Windows, Додаток, Деталі.


22
Саме це сталося зі мною, коли я змінив пароль особистих даних, який використовувався для робочого процесу W3C. Спасибі
Тоан Нгуен

8
Я просто змінив свій пароль користувача, а наступного дня (після перезавантаження) він вийшов з ладу через неправильний пароль. Мені потрібен перелік речей, які потрібно змінити, коли я змінюю свій пароль!
Брайан J

2
Я зайшов до пулів додатків і зрозумів, що якось мій сайт був зупинений. Я перезапустив його і пуф, працюючи добре як новий.
Джейсон Л.

У мене було те саме питання. У будь-який момент, коли трапляється така проблема, переглядач подій - це те, де слід поглянути спочатку. Журнал кулак для перевірки майже завжди: Журнали Windows -> Система. Повідомлення про помилку буде чимось на кшталт "Пул програми Foo вимкнено. Служба активації процесів Windows (WAS) зіткнулася з помилкою, коли він запустив робочий процес для обслуговування пулу додатків." Якщо це неправильне ім’я користувача або пароль у посвідченні особи, це буде зазначено в попередньому журналі попередження.
Джеремі Рей Браун

У мене проблема в тому, що AppPool зупинився. я просто перезапустив і виправив.
сл

97

У моєму випадку проблема була DefaultAppPool. Я змінив "Завантажити профіль користувача" на помилковий і тепер він працює. Однак я не знаю, чи є в цьому побічні ефекти. введіть тут опис зображення


10
Це те, що працювало і для мене, хотілося б знати, чому!
Патрік Макдональд

2
У мене також виникло це питання. Здається, що у компанії Microsft IIS є абсолютно неоднозначні варіанти, які не мають вказівки на наслідки.
Pogrindis

Ого! Це спрацювало. Я теж хотів би знати, чому.
Лукас

4
Деякі відповіді на питання "чому?" питання тут: stackoverflow.com/questions/17149132 / ...
Саймон Mourier

2
@Luaan Я повністю погоджуюся, що проблема, яка вирішується цим, лежить на мені і моєму розумінні IIS ( або його відсутності ), але навколо термінології є досить багато неоднозначностей, якщо ви не вміли в методі, для якого працює IIS. Дізнавшись, чому це вирішило, моя проблема - це полегшення. Кожен день - це шкільний день .
Pogrindis

95

Інші відповіді чудово. Але в моєму випадку я працював над вікном Windows, на якому вже працювали старі IIS, IISExpress або будь-який інший веб-сайт. Що сталося, це URL-адреси ACL, де якимось чином зарезервовано в системі. Отже, ви можете перевірити це.

Ось команда консолі, щоб скинути всі URL-адреси URL:

netsh http show urlacl

Перевірте, що тут повернуто, і якщо що-небудь відповідає URL-адресі, яку ви тестуєте, ось команда видалити один URL-адресу acl (наприклад):

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

(будьте обережні, зауважте, що ви робите тут, якщо це не було пов'язано з початковою проблемою)


3
Це чудово працювало для мене! У моєму випадку я працював з RavenDB і намагався використовувати консольний додаток перед тим, як перейти з додатком IIS. Після використання консольного додатка програма IIS не працюватиме! Це виявилося тому, що URL-адреса зарезервована. Я тільки що видалив ACL, і це все добре!
N1njaB0b

1
Хороший. У мене було попереднє рішення веб-сайту, прив’язане до порту, який я намагався використовувати.
RJ Лохан

Дякую! Це зробило і для мене - ми створили Skype для бізнесу за допомогою WAP, але виявили, що WAP нестабільний і часто зупиняється і переходить на ARR 3.0. Залишилось кілька старих URL-адрес ACL для синхронізації та виявлення лінз на порту 443, які перешкоджали IIS та спричиняли 503 помилок замість IIS, що обслуговує сторінки. Видалення старих ACL вирішило проблему.
drew010

1
це єдине рішення, яке працює для мене. Дякую.
Конт

1
Це працювало для мене! Раніше у мене працював сервіс хостингу, і я працював над тим, щоб прив’язати його до localhost: 443. Я також повинен був створити self cert і прив’язати його до 443. Якимось чином є remenants (навіть після того, як я видалив cert, видалив SSL Cert за допомогою:. netsh http delete sslcert ipport=127.0.0.1:443Я також повинен був запустити:netsh http delete urlacl url=https://+:443/
Ninja

46

Перевірте відповідний пул Application Framework - його можна зупинити. Якщо це так, запустіть його і перевірте ще раз.

Якщо у вас все ще виникають проблеми, ви також можете перевірити переглядач подій, щоб знайти причину цієї помилки, щоб усунути більше проблем.


Так, переглядач подій - ваш друг! Я виявив, що ця помилка сталася після оновлення Windows 10 Anniversary 2016 року - вона якось зламала модуль DLL IIS Rewrite 2. Відремонтувавши його в "Програми та функції", а потім перезапустивши пул додатків, виправили це для мене.
Джеймс Маккормак

31

Якщо це допомагає комусь, і це може бути смішним, але для мене не очевидно, чи пул додатків не запускався. Я просто припускав, що запустити веб-сайт або створити пул додатків, він розпочнеться. Насправді я навіть не знав, що потрібно запускати пул додатків ...


7
це була моя проблема. Не сміється тут.
Пляж Джаред

4
Я встановлюю пул додатків зі своєю особою (вхід у систему Windows). Сьогодні вранці ПК просить мене змінити пароль. Тоді я запускаю iis, цей випадок стався. Потім я перевіряю пул додатків та змінюю особистість. Вставте новий пароль, тоді все добре.
тога

25

Пул додатків зупинений

У моєму випадку пул програм зупинився. Почавши це, виправили проблему.

Мій веб-сайт розміщений на Arvixe. Проблема з помилками, ймовірно, виникла через те, що у мене є додаток на основі членства, і сталося щось погане, коли я завантажував файли.


те саме в моєму випадку.
Uthistran Selvaraj

23

Якщо пул додатків працює під деякою ідентифікацією користувача, тоді знову перейдіть до попередніх налаштувань оновлення пароля імені користувача, це працювало для мене.


18

Якщо пул додатків одразу припиняється після його запуску та показує журнал подій:

У процесі роботи пулу програм "APP_POOL_NAME" сталася помилка "Неможливо прочитати файл конфігурації", намагаючись прочитати дані конфігурації з файлу "\? \", Номер рядка "0". Поле даних містить код помилки.

... у вас може виникнути помилка, яка, очевидно, була внесена в оновлення Windows 10 Fall Creators Update та / або .Net Framework v4.7.1. Її можна вирішити за допомогою наступних методів вирішення, які випливають з цієї відповіді на відповідне запитання Неможливо прочитати файл конфігурації "намагаючись прочитати дані конфігурації з файлу" \\? \ <EMPTY> ', номер рядка "0" .

  1. Перейдіть на диск, на якому встановлений IIS, наприклад. C:\inetpub\temp\appPools\
  2. Видаліть каталог (або віртуальний каталог) з тим же найменуванням, що і пул додатків.
  3. Переробити / запустити пул додатків знову.

Я повідомив про цю помилку Microsoft, створивши наступну проблему на dotnet GitHub repo: Після встановлення 4.7.1 IIS AppPool припиняється на "Неможливо прочитати файл конфігурації" .

EDIT

Microsoft відповіла, що це відома проблема процесу налаштування Windows для оновлення Fall Creators Update і була задокументована в KB 4050891, веб-додатки повертають помилку HTTP 503 та WAS події 5189 у Windows 10 версії 1709 (Fall Creators Update) . У цій статті подано таку процедуру вирішення, яка схожа на описану вище. Однак зауважте, що він переробить усі пули програм незалежно від того, чи впливає на них проблема.

  1. Відкрийте вікно Windows PowerShell за допомогою параметра Запустити як адміністратор.
  2. Виконайте такі команди:
    • Stop-Service -Force WAS
    • Remove-Item -Recurse -Force C:\inetpub\temp\appPools\*
    • Start-Service W3SVC

Це найкраща відповідь, і її слід позначити як відповідь.
Eriawan Kusumawardhono

12

Я вирішив цю проблему, видаливши резервацію URL-адрес, яка відповідала моєму каталогу додатків у IIS. У мене було подібне (точно не те саме) питання, як описано в цій статті:

Не настільки поширена причина причин для послуги 503 недоступна


Ось що моє питання закінчилося, можливо, було б створено після того, як я встановив або зовнішній пакет, наприклад Ruby, чи щось.
Джош Кнутсон

10

Спершу загляньте у переглядач подій у системі чи в журналі додатків.

У моєму випадку проблема полягала в тому, що жодний робочий процес не можна було запустити для пулу додатків, оскільки його файл конфігурації не вдалося прочитати - я включив додатковий '.' в кінці своєї назви.


9

Для Windows Server 2012 R2 я зробив це: IIS> App .. Pools> (мав чорний квадрат "стоп")> клацніть правою кнопкою миші> start


8

Можливо, що для вашого домену потрібен обліковий запис, який використовується для запуску AppPool, щоб мати права пакетного входу. У такому випадку ви побачите це те саме повідомлення про помилку. Як ви можете визначити, чи це так, - перегляньте системні події в переглядачі подій. Повинно бути подією, яка говорить про те, що в обліковому записі, який використовується в пулі додатків, або "неправильний пароль, або немає прав на пакетне вхід".

Ось чому розробники досить часто використовують IIS Express на своїй машині розробки, оскільки вона проходить випуск прав пакетного входу.


8

У моєму випадку Pool використовує власну ідентифікацію (акаунт та пароль). Після закінчення терміну дії та повторного завантаження пароля помилка виправлена. Я просто виправляю пароль в особі


1
Пароль змінено на Користувача в пулі додатків
phil soady

У мене просто був такий самий випуск :)
krolik

2
Це мені допоможе. Виберіть пул і натисніть Розширені налаштування -> Модель процесу -> Ідентичність -> Клацніть ім'я користувача, щоб побачити (...) Натисніть кнопку Встановити та оновіть пароль.
Vignesh Chinnaiyan

7

Я зіткнувся з тією ж проблемою, але це була проблема з фактичними налаштуваннями сайту в IIS.

Виберіть Advanced Settings...для свого сайту / програми та перегляньте Enabled Protocolsзначення. При будь-якій резонансі значення для мого сайту було порожнім і спричинило таку помилку:

Помилка HTTP 503. послуга недоступна.

Виправлення полягало в тому, щоб додати httpі вибрати OK. Потім сайт знову функціонував.


1
+1: Бінго! У моєму випадку я почав вимагати SSL, тому моє виправлення було додати http, httpsдо того самого поля. Дякую!
Джим Г.

Так! Мабуть, хтось змінив протокол на htt4p. Поняття не маю, як це сталося, але моїй команді це не вдається дотримуватися попередніх умов. Супер засмучує.
Стриптинг-воїн

6

У моєму випадку я створив новий пул додатків і просто забув його запустити.


Іноді у мене схожа ситуація. Я не впевнений, чому, але пул додатків припиняється. Клацніть правою кнопкою миші -> Пуск, як правило, вирішує мою проблему.
Мілтон

AppPool ... яка величезна купа гасячих лайнів - IIS. Apache б'є лайно в будь-який час
Gianluca Ghettini

5

Перевірте переглядач подій - Windows - додаток. Якщо є червона лінія помилки, зроблена з IIS-W3SVC-WP, і повідомлення виглядає як модуль DLL C: \ Windows \ system32 \ inetsrv \ rewrite.dll не вдалося завантажити. Дані - це помилка. то вам не вистачає деяких функцій налаштування Windows.

У Windows Server 2012 перейдіть до Менеджера серверів, Додати ролі та функції, Веб-сервер (IIS) та додайте функцію відповідності. Зазвичай встановлюється більшість розділів розробки програм. Ось повний перелік функцій IIS та пов’язаних з ними DLL для діагностики.

Провівши кілька ітерацій, я закінчив повідомлення про помилку, що стосується "rewrite.dll". Це призвело до прямого завантаження та встановлення інструменту перезапису URL-адрес Microsoft . Нарешті всі веб-сайти ожили.


1
той самий сценарій! ReWriteмодуль відсутній у IIS. як ви згадали проблема буде вирішена після установки Від Тут
Алі Kashanchi

4
У мене був встановлений модуль перезапису URL-адреси 2.0. Однак я виявив, що мені потрібно відремонтувати встановлення в "Програми та функції" (Windows 10).
Бенцай

5

Або якщо жодне з поточних рішень не спрацьовує, загляньте у каталог свого веб-сайту на файл, який називається app_offline.htm. Це, в основному, говорить про те, що ваш веб-сайт недоступний і натомість показувати цю сторінку.

Щоб виправити це, видаліть або перейменуйте його app_offline.htm.bak.

У моєму випадку я додав це, показуючи колезі, як це використовувати, щоб тимчасово запобігти трафіку на сайт, а потім забув, що я це зробив у своїй коробці. Зітхнути.


1
Ця відповідь якраз сьогодні рятує мене в моєму IIS
YChi Lu

4

Я перейшов за рішенням HTTP Error 503 вище. У моєму випадку пул моїх програм зупинявся кожного разу, коли я клацав правою кнопкою миші на файлі svc і вибирав «Огляд».

Я дотримувався нижче кроків для вирішення проблеми зупинки пулу додатків

Я використовую Windows Server 2008 R2.

У моєму пулі додатків менеджера IIS я клацнув правою кнопкою миші на пул додатків, який мене цікавить, і натиснув Додаткові налаштування. Це відкриває спливаюче меню Налаштування параметрів.

У цьому розділі «Модель процесу» натисніть «Ідентичність» та натисніть кнопку «Встановити» у спливаючому вікні Ідентифікаційний пул пулу. Відкриється спливаюче вікно Встановити облікові дані, де я вказав Ім'я користувача, пароль та підтвердження пароля та натиснув ОК.

Тепер, коли я клацну правою кнопкою миші на файлі svc, він відкриється в браузері IE.


4

Якщо у вас встановлено IIS Переписування URL-адрес, це може бути пов'язано з цим. У мене виникли проблеми після оновлення Windows 10.

Ця публікація StackOverflow допомогла мені.

Перейти до Windows Control Panel> Programs and Features> IIS URL Rewrite Module 2> Repair.


Це була відповідь. Запити на сайт зупиняють запущений пул додатків через те, що модуль переадресації "пошкоджений" після великого оновлення. Дякую.
SpaceBison

4

У моєму випадку "Мій пул додатків за замовчуванням" був офлайн, щоб усунути проблему, я перевірив журнали IIS, розташовані в C: \ Windows \ System32 \ LogFile \ HTTPERR Прокрутіть униз до останніх журналів помилок, це покаже вам проблеми з IIS, якщо будь-яка моя помилка була "503 1 AppOffline DefaultPool"

Рішення Відкрийте менеджер IIS, - Клацніть на пулове програм, у цьому списку перелічено весь пул програм. -Перевірте, чи пул додатків, що розміщують ваш api чи сайт, на ньому має знак зупинки. Якщо так, клацніть правою кнопкою миші пул додатків та натисніть кнопку Пуск. _Повторний спробу отримати доступ до вашої послуги від клієнта. Це працювало для мене. Кричить на @kombsh


3

У неділю вдень у нашого сервера не вистачало місця на диску, що призвело до того, що програма раптово вийшла з ладу і повернула помилку HTTP 502. Журнали були порожніми, тому це мало бути щось, що відбувалося до того, як IIS навіть щось зробив.

Швидкий погляд на глядача події ( WIN+R > eventvwr) викрив проблему. введіть тут опис зображення

Це гарна ідея відфільтрувати вихід системних і прикладних вікон до WAS, оскільки там він може отримати досить багатослівний.

Додаток залежав від іншого, який був відключений. Тому майте на увазі, що програма може вийти з ладу побічно, якщо один із її залежних процесів знизився. Ми просто ввімкнули пул додатків .NET, і наша інша програма знову почала нормально працювати.


3

Насправді в моєму випадку https: // localhost працював, але http: // localhost видав внутрішню помилку сервера HTTP 503. Зміна прив'язки веб-сайту за замовчуванням у IIS для використання імені хоста localhost замість порожнього імені хоста.

Прив’язки веб-сайтів IIS для HTTPtname для прив’язки http



2

Після декількох спроб та помилок я виявив, що пул додатків налаштований на використання мого облікового запису домену як ідентичності, і я згадав, що незадовго до цього змінив пароль свого облікового запису домену. Скидання ідентичності пулу додатків (за допомогою мого нового пароля) виправило проблему, і пул додатків можна було б перезапустити без проблем.


2

У моєму випадку проблема полягала в тому, що інша програма використовувала порт, який я прив’язав до свого веб-сайту.

Я знайшов це, запустивши наступну команду з командного рядка, в якому перераховані всі порти прослуховування та виконуваний файл:

netstat -b

2

У мене була така ж помилка і сьогодні. Проблема полягала в тому, що я нещодавно змінив пароль домену, тому мені довелося його оновлювати в кожному пулі додатків, у розділі Додаткові налаштування> Процес-модель> Вхідні дані особи.


2

Те ж саме з IIS Express 10.0 після оновлення Windows 7 до Windows 10. Рішення: перейдіть до IIS та увімкніть усі відключені веб-сайти та перевстановіть ASP.NET Core.


2

Якщо у вас є McAfee HIPS і якщо ви побачите наступну помилку в журналі програми перегляду подій:

Не вдалося завантажити модуль DLL C: \ Windows \ System32 \ inetsrv \ HipIISEngineStub.dll.
Дані - це помилка.

Тоді це рішення на McAfee.com вирішило проблему в моєму випадку.

Цитата зі сторінки:

  1. Клацніть Пуск, Виконати, введіть Explorer і натисніть кнопку ОК.
  2. Перейдіть до:% windir% \ system32 \ inetsrv \ config
  3. Відкрийте файл applicationHost.config як адміністратор для редагування в Блокноті.
  4. Відредагуйте розділ <globalModules> та видаліть такий рядок:
    <add name = "MfeEngine" image = "% windir% \ System32 \ inetsrv \ HipIISEngineStub.dll" />

  5. Відредагуйте розділ <modules> та видаліть такий рядок:
    <add name = "MfeEngine" />

  6. Після завершення редагування файла applicationHost.config збережіть файл, після чого перезавантажте сервер IIS за допомогою iisreset або перезапустивши систему.

2

Також перевірте адресний рядок і переконайтеся, що сторінка знаходиться у потрібному місці.

Цю помилку можна повернути замість 404 (Сторінку не знайдено). У моєму випадку це була погана посилання на сторінці, яка не містила підпапки.


2

У мене був той самий випуск найдовше, і я вважав, що існує проблема з моїм кодом. Виявляється, на сервері IIS мій пул додатків для цього конкретного проекту був зупинений. Я знову ввімкнув це, і це вирішило проблему. Помилка 503, швидше за все, пов'язана з пулом програм

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.