Ошибка 503. Сервис недоступен

395

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

Ошибка 503. Сервис недоступен.

Я проверил пул и дал полный доступ IIS_IUSRS для целевой папки

Я искал, но не нашел ничего, что решило бы мою проблему, и нет ничего полезного в EventLog или в папке C: \ Windows \ System32 \ LogFiles \ HTTPERR

Кто-нибудь может сказать мне, что не так?

Andreas
источник
5
Вы проверили просмотрщик событий для получения дополнительной информации?
Webplanet TFS Consulting
3
Полезный контрольный список (хотя это IIS7) здесь blogs.msdn.com/b/webtopics/archive/2010/02/17/… - я подозреваю, что вы уже сделали эти проверки, но могут помочь
Webplanet TFS Consulting
121
Причина 1: ошибка HTTP 503. Служба недоступна, возникает, если пул приложений соответствующего приложения Wep остановлен, отключен или приостановлен. или Указанный идентификатор пользователя пула приложений может быть недействительным из-за истекшего пароля или заблокирован. Смотрите это идеальное исправление: morgantechspace.com/2013/12/…
kombsh
2
Обычная ситуация для меня, когда ВСЕ журналы ПУСТЫ, но все еще 503. Причины: 1. Наиболее часто конфликт конфликтов портов 2. URL ACL и решение описаны ниже.
Puterdo Borato
Я столкнулся с той же проблемой, когда мое развернутое приложение IIS не работало и показывало ошибку 503. Когда я проверил пул, он был остановлен и запуск решает проблему.
Хедего

Ответы:

449

Возможно, идентификация пользователя устарела, особенно если вы пытались запустить остановленный пул приложений, и следующий запрос снова не удался.

В IIS перейдите в пулы приложений на сервере, затем найдите правильный пул приложений для своего веб-сайта и щелкните по нему. В меню Advanced Settings справа выберите Identity, измените его и введите нового пользователя и пароль. Снова нажмите на пул приложений и выберите Recycle, чтобы перезапустить его.

Вы также можете попробовать просмотреть сообщение об ошибке в окне «Просмотр событий» в разделе «Журналы Windows, приложение, вкладка« Сведения »».

живи любя
источник
23
Это именно то, что случилось со мной, когда я изменил пароль идентификатора, который использовался для рабочего процесса W3C. Спасибо
Тоан Нгуен
8
Я просто изменил свой пароль пользователя, и на следующий день (после перезапуска) он не удался из-за неверного пароля. Мне нужно список вещей, чтобы изменить, когда я меняю свой пароль!
Брайан Джей
2
Я пошел в пулы приложений и понял, что каким-то образом мой сайт был остановлен. Я перезапустил его и пуф, работая как новый.
Джейсон Л.
Я была такая же проблема. Каждый раз, когда возникает проблема, подобная этой, программа просмотра событий - это то место, куда вам следует обратиться в первую очередь. Первый журнал для проверки почти всегда: Журналы Windows -> Система. Сообщение об ошибке будет выглядеть примерно так: «Foo пула приложений отключен. Служба активации процессов Windows (WAS) обнаружила сбой при запуске рабочего процесса для обслуживания пула приложений». Если это неверное имя пользователя или пароль в удостоверении, это будет упомянуто в предыдущем журнале предупреждений.
Джереми Рэй Браун
У меня проблема в том, что AppPool остановлен. я просто перезапустил и исправил.
сал
97

В моем случае проблема заключалась в DefaultAppPool. Я изменил «Загрузить профиль пользователя» на false и теперь он работает. Однако я не знаю, есть ли побочные эффекты к этому. введите описание изображения здесь

Хуан Карлос Пуэрто
источник
10
Это то, что работает для меня тоже, хотелось бы знать, почему!
Патрик Макдональд
2
У меня также была эта проблема. Кажется, что абсолютно странный Microsft IIS имеет множество неоднозначных опций без указания на последствия.
Погриндис
Ого! Это сработало. Я тоже хотел бы знать, почему.
Лукас
4
Некоторые ответы на вопрос «почему?» вопрос здесь: stackoverflow.com/questions/17149132/…
Саймон Мурье
2
@Luaan Я полностью согласен, проблема, решаемая этим, зависит от меня и моего понимания IIS ( или его отсутствия ), но есть некоторая двусмысленность в отношении терминологии, если вы не разбираетесь в методе, для которого работает IIS. Обнаружив, почему это решило, моя проблема облегчает. Каждый день - школьный день .
Погриндис
95

Другие ответы в порядке. Но в моем случае я работал над коробкой Windows, на которой уже работал какой-то старый IIS, IISExpress или любой другой веб-сайт. То, что произошло, - это списки 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. Были некоторые старые списки ACL URL, оставленные для lync и lyncdiscover на порту 443, которые мешали IIS и вызывали ошибки 503 вместо того, чтобы IIS обслуживал страницы. Удаление старого ACL решило проблему.
drew010
1
это единственное решение, которое работает для меня. Спасибо.
Quannt
1
Это сработало для меня! У меня раньше была запущена какая-то служба хостинга, и я поработал, чтобы привязать ее к localhost: 443. Мне также пришлось сгенерировать собственный сертификат и привязать его к 443. Каким-то образом есть остаточные значения (даже после того, как я удалил сертификат, удалил сертификат SSL с помощью:. netsh http delete sslcert ipport=127.0.0.1:443Я также должен был запустить:netsh http delete urlacl url=https://+:443/
Ninja
46

Проверьте соответствующий пул Application Framework вашего приложения - его можно остановить. Если это так, запустите его и проверьте снова.

Если у вас все еще возникают проблемы, вы также можете обратиться к Event Viewer, чтобы найти причину этой ошибки, чтобы устранить другие проблемы.

Scoolsam
источник
Да, Event Viewer - твой друг! Я обнаружил, что эта ошибка произошла после обновления Windows 10 Anniversary в сентябре 2016 года - оно каким-то образом сломало модуль IIS Rewrite 2 DLL. Исправив его в «Программы и компоненты», а затем перезапустив пул приложений, исправил это для меня.
Джеймс Маккормак
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: После установки 4.7.1 IIS AppPool останавливается с сообщением «Не удается прочитать файл конфигурации» .

РЕДАКТИРОВАТЬ

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

  1. Откройте окно Windows PowerShell с помощью параметра «Запуск от имени администратора».
  2. Запустите следующие команды:
    • Stop-Service -Force WAS
    • Remove-Item -Recurse -Force C:\inetpub\temp\appPools\*
    • Start-Service W3SVC
водослив
источник
Это лучший ответ, и он должен быть помечен как ответ.
Эриаван Кусумавардхоно
12

Я решил эту проблему, удалив резервирование URL, соответствующее каталогу моего приложения в IIS. У меня была похожая (определенно не та) проблема, описанная в этой статье:

Не очень распространенная первопричина для службы 503 недоступна

Райан Родемойер
источник
В этом и заключалась моя проблема, которая могла быть создана после того, как я установил внешний пакет, такой как Ruby, или что-то еще.
Джош Кнутсон
10

Начните с просмотра в Event Viewer, либо в журнале системы или приложения.

В моем случае проблема заключалась в том, что ни один рабочий процесс не мог быть запущен для пула приложений, потому что его файл конфигурации не мог быть прочитан - я добавил дополнительный «.» в конце его имени.

Сэмюэл Джек
источник
9

Для Windows Server 2012 R2 я сделал это: IIS> App .. Pools> (имел черный квадрат «стоп»)> щелкните его правой кнопкой мыши> start

Дуг Налл
источник
8

Возможно, что для вашего домена требуется учетная запись, используемая для запуска AppPool, чтобы иметь права пакетного входа. В этом случае вы увидите это же сообщение об ошибке. Чтобы узнать, так ли это, просмотрите системные события в средстве просмотра событий. Должно быть событие, говорящее о том, что учетная запись, используемая с пулом приложений, имеет либо «неправильный пароль, либо не имеет прав на пакетный вход».

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

Хашим Ахтар
источник
8

В моем случае Pool использует пользовательские идентификационные данные (учетную запись и пароль). После истечения срока действия пароля и его повторной загрузки произошла ошибка. Я просто исправляю пароль в идентификационной информации.

vborutenko
источник
1
Пароль был изменен на пользователя в пуле приложений
phil soady
У меня просто была такая же проблема :)
krolik
2
Это поможет мне. Выберите пул и нажмите «Дополнительные настройки» -> «Модель процесса» -> «Идентичность» -> щелкните имя пользователя, чтобы увидеть (...) нажмите кнопку «Установить» и обновите пароль.
Виньеш Чиннайян
7

Я столкнулся с той же проблемой, но это была проблема с фактическими настройками сайта в IIS.

Выберите Advanced Settings...для вашего сайта / приложения, а затем посмотрите на Enabled Protocolsзначение. Для любого резонанса значение было пустым для моего сайта и вызвало следующую ошибку:

Ошибка 503. Сервис недоступен.

Исправление было добавить httpи выбрать OK. Сайт снова стал функциональным.

atconway
источник
1
+1: Бинго! В моем случае я начал требовать SSL, поэтому мое решение было добавить http, httpsв эту же коробку. Спасибо!
Джим Г.
Да! Видимо кто-то изменил протокол на htt4p. Понятия не имею, как это произошло, но в предварительной обстановке моя команда не справляется. Супер расстраивает.
StriplingWarrior
6

В моем случае я создал новый пул приложений и просто забыл его запустить.

tno2007
источник
Иногда у меня похожая ситуация. Я не уверен почему, но пул приложений останавливается. Правый клик -> Пуск обычно решает мою проблему.
Милтон
AppPool ... какая огромная куча дымящегося дерьма - IIS. Апач выбивает из этого дерьмо в любое время
Джанлука Геттини
5

Проверьте Event Viewer - Windows - Приложение. Если из IIS-W3SVC-WP есть красная строка «Ошибка», и сообщение похоже на «Ошибка загрузки модуля DLL C: \ Windows \ system32 \ inetsrv \ rewrite.dll». Данные являются ошибкой. тогда вам не хватает некоторых возможностей программы установки Windows.

В Windows Server 2012 перейдите в Диспетчер серверов, Добавить роли и компоненты, Веб-сервер (IIS) и добавьте соответствующую функцию. Обычно большая часть раздела «Разработка приложений» установлена. Вот полный список функций IIS и связанных с ними DLL, чтобы помочь в диагностике.

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

SushiGuy
источник
1
тот же сценарий! ReWriteмодуль отсутствовал в IIS. как вы упомянули проблема будет решена после установки От Здесь
Али Kashanchi
4
У меня был установлен модуль URL Rewrite 2.0. Однако я обнаружил, что мне нужно восстановить установку в разделе «Программы и компоненты» (Windows 10).
бенцай
5

Или, если ни одно из текущих решений не работает, найдите в каталоге вашего сайта файл с именем app_offline.htm. Это в основном говорит IIS, что ваш сайт недоступен, и вместо этого показывать эту страницу.

Чтобы исправить это, либо удалите его, либо переименуйте в app_offline.htm.bak.

В моем случае я добавил это, показывая коллеге, как использовать это для временного предотвращения трафика на сайт, а затем забыл, что я сделал это на своем ящике. Вздох.

Hallmanac
источник
1
Этот ответ просто спасает меня сегодня в моем IIS
YChi Lu
4

Я следовал по ссылке Решить ошибку HTTP 503 выше. В моем случае мой пул приложений останавливался каждый раз, когда я щелкаю правой кнопкой мыши по файлу svc и выбираю «Обзор».

Я выполнил следующие шаги, чтобы решить проблему остановки пула приложений.

Я использую Windows Server 2008 R2.

В моем пуле приложений диспетчера IIS я щелкнул правой кнопкой мыши по пулу приложений, который мне интересен, и щелкнул Дополнительные настройки. Откроется всплывающее окно «Дополнительные настройки».

В разделе «Модель процесса» нажмите «Идентификация» и нажмите кнопку «Установить» во всплывающем окне «Идентификация пула приложений». Откроется всплывающее окно «Установить учетные данные», где я указал имя пользователя, пароль и подтвердил пароль и нажал кнопку «ОК».

Теперь, когда я щелкаю правой кнопкой мыши по моему SVC-файлу, он открывается в браузере IE.

Ziggler
источник
4

Если у вас установлена ​​перезапись URL IIS, это может быть связано с этим. У меня возникли проблемы после обновления 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) выявил проблему. введите описание изображения здесь

Хорошая идея - отфильтровать выходные данные окон System и Application в WAS, поскольку они могут быть довольно многословными.

Приложение зависело от другого, который был отключен. Поэтому имейте в виду, что приложение может отключиться косвенно, если один из его зависимых процессов вышел из строя. Мы просто повторно включили пул приложений .NET, и наше другое приложение снова заработало нормально.

Patrick.SE
источник
3

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

Привязки сайтов IIS для HTTPTname для http привязки

Торе Аурстад
источник
2

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

Каушик благодар
источник
2

В моем случае проблема заключалась в том, что другое приложение использовало порт, который я привязал к своему веб-сайту.

Я нашел его, выполнив следующую команду из командной строки, в которой перечислены все прослушивающие порты и задействованный исполняемый файл:

netstat -b
Avalanchis
источник
2

У меня была такая же ошибка сегодня. Проблема заключалась в том, что я недавно изменил пароль домена, поэтому мне пришлось обновлять его в каждом пуле приложений, в разделе «Дополнительные параметры»> «Модель процесса»> «Идентификационные данные».

iusmar
источник
2

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

1_bug
источник
2

Если у вас есть McAfee HIPS и вы видите следующую ошибку в журнале приложения просмотра событий:

Не удалось загрузить модуль DLL C: \ Windows \ System32 \ inetsrv \ HipIISEngineStub.dll.
Данные являются ошибкой.

Затем этот обходной путь на McAfee.com решил проблему в моем случае.

Цитата со страницы:

  1. Нажмите Пуск, Выполнить, введите проводник и нажмите ОК.
  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, скорее всего, связана с пулом приложений

Набиль
источник