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

310

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

Ошибка HTTP 503. Услуга недоступна.

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

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

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

  • 4
    Вы проверили просмотрщик событий для получения дополнительной информации?
  • 0
    Привет. Спасибо за проявление интереса. Да, у меня есть, но я боюсь, что ничего необычного
Показать ещё 7 комментариев
Теги:
iis
http-error

39 ответов

393

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

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

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

  • 19
    Это именно то, что случилось со мной, когда я изменил пароль идентификатора, который использовался для рабочего процесса W3C. Спасибо
  • 8
    Я просто изменил свой пароль пользователя, и на следующий день (после перезапуска) он не удался из-за неверного пароля. Мне нужно список вещей, чтобы изменить, когда я меняю свой пароль!
Показать ещё 6 комментариев
95

В моем случае проблема была в DefaultAppPool. Я изменил "Load User Profile" на false, и теперь он работает. Однако я не знаю, есть ли побочные эффекты. Изображение 5934

  • 9
    Это то, что работает для меня тоже, хотелось бы знать, почему!
  • 2
    У меня также была эта проблема. Кажется, что абсолютно странный Microsft IIS имеет множество неоднозначных опций без указания на последствия.
Показать ещё 7 комментариев
73

Другие ответы в порядке. Но в моем случае я работал над ящиком Windows, в котором уже запускался старый IIS, IISExpress или любой другой веб-сайт. То, что произошло, - это списки ACL, которые зарезервированы каким-то образом в системе. Итак, вы можете проверить это.

Вот консольная команда для сброса всех URL-адресов:

netsh http show urlacl

Проверьте, что вернулось здесь, и если что-то соответствует URL-адресу, который вы тестируете, вот команда удалить один URL-адрес acl (например):

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

(будьте осторожны, обратите внимание на то, что вы здесь делаете, если оно не связано с исходной проблемой)

  • 3
    Это отлично сработало для меня! В моем случае я работал с RavenDB и пытался использовать консольное приложение, прежде чем использовать приложение IIS. После использования консольного приложения приложение IIS не будет работать! Оказалось, потому что URL зарезервирован. Я только что удалил ACL и все хорошо!
  • 0
    Неплохо. У меня было предыдущее веб-решение, связанное с тем портом, который я пытался использовать.
Показать ещё 8 комментариев
36

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

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

  • 0
    Да, Event Viewer - твой друг! Я обнаружил, что эта ошибка произошла после обновления Windows 10 Anniversary в сентябре 2016 года - оно каким-то образом сломало модуль IIS Rewrite 2 DLL. Исправив его в «Программы и компоненты», а затем перезапустив пул приложений, исправил это для меня.
28

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

  • 7
    это была моя проблема. Не смеяться здесь.
  • 3
    Я установил пул приложений с моей идентификацией (вход в Windows). Сегодня утром компьютер попросил меня сменить пароль. Затем я запускаю IIS, этот случай произошел. Затем я проверяю пул приложений и меняю личность. Введите новый пароль, тогда все хорошо.
Показать ещё 1 комментарий
24

Изображение 5935

В моем случае пул приложений остановился. Исправлена ​​проблема с этим.

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

  • 0
    то же самое в моем случае.
23

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

14

Если пул приложений сразу же останавливается после его запуска и отображается журнал событий:

Рабочий процесс для пула приложений "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 останавливается с "Не удается прочитать файл конфигурации".

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

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

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

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

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

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

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

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

7

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

  • 1
    спасибо это помогло мне!
  • 0
    Пароль был изменен на пользователя в пуле приложений
Показать ещё 2 комментария
6

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

  • 0
    Иногда у меня похожая ситуация. Я не уверен почему, но пул приложений останавливается. Правый клик -> Пуск обычно решает мою проблему.
  • 0
    AppPool ... какая огромная куча дымящегося дерьма - IIS. Apache выбивает из этого дерьмо в любое время
6

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

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

Ошибка HTTP 503. Услуга недоступна.

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

  • 1
    +1: Бинго! В моем случае я начал требовать SSL, поэтому я решил добавить http, https в тот же ящик. Спасибо!
5

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

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

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

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

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

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

4

Если у вас установлена ​​перезапись URL-адреса IIS, это может быть связано с этим. У меня были проблемы после обновления Windows 10.

https://stackoverflow.com/questions/18714709/windows-8-1-windows-10-breaks-my-asp-net-iis-service-unavailable

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

  • 0
    Это был ответ. Запросы к сайту останавливают запущенный пул приложений из-за того, что модуль перенаправления «поврежден» после большого обновления. Благодарю.
3

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

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

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

  • 0
    Этот ответ просто спасает меня сегодня в моем IIS
3

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

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

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

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

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

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

2

В моем случае My Default Application Pool был отключен, чтобы устранить проблему, я проверил журналы IIS, расположенные в C:\Windows\System32\LogFile\HTTPERR. Прокрутите список до самых последних журналов ошибок, это покажет вам проблемы с IIS, если любая моя ошибка была "503 1 AppOffline DefaultPool"

Решение Откройте диспетчер IIS, -Click в пулах приложений, в нем перечислены все пулы приложений справа от вас. -Check, если пулы приложений, на которых размещен ваш api или сайт, имеют знак остановки на нем. Если это так, щелкните правой кнопкой мыши пул приложений и нажмите "Пуск". _Попробуйте снова получить доступ к вашему сервису от клиента. Это сработало для меня. Кричит @kombsh

2

Наш сервер закончил свободное место в воскресенье днем, что привело к внезапному сбою приложения и возврату HTTP-ошибки 502. Журналы были пустыми, поэтому это должно было быть что-то, что происходило до того, как IIS даже что-то сделал.

Быстрый просмотр средства просмотра событий (WIN+R > eventvwr) выявил проблему. Изображение 5936

Хорошая идея отфильтровывать вывод окон системы и приложений в WAS, так как он может быть довольно подробным.

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

2

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

1

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

1

Это случилось со мной на сервере в нашей интрасети. После просмотра сообщений в блогах и журналов Windows выяснилось, что за несколько дней до Рождества 2015 года (связанного с Windows Update?) Мой пул приложений веб-сайта хотел создать файл конфигурации в папке c:\inetpub\temp\appPools, но доступ к этой папке был ограничен. Это привело к отключению пула приложений.

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

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

1

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

1

Также проверьте адресную строку и убедитесь, что страница находится в нужном месте.

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

1

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

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

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

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

  • Нажмите "Пуск", "Выполнить", введите "Исследователь" и нажмите "ОК".
  • Перейдите к:% windir%\system32\inetsrv\config
  • Откройте файл applicationHost.config как Администратор для редактирования в Блокноте.
  • Отредактируйте раздел <globalModules> и удалите следующую строку:
    < добавить name= "MfeEngine" image = "% windir%\System32\inetsrv\HipIISEngineStub.dll" /" >

  • Отредактируйте раздел <modules> и удалите следующую строку:
    < добавить name= "MfeEngine" /" >

  • Закончив редактирование файла applicationHost.config, сохраните файл, затем перезапустите сервер IIS с помощью iisreset или перезапустите систему.
0

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

Изображение 5937 tname для привязки http

0

У меня была такая же проблема из-за нехватки памяти на серверной машине.
На самом деле имелось 1/16 гб доступной памяти, но IIS автоматически начал работать правильно после выгрузки нескольких неиспользуемых приложений (им не принадлежал порт 80).

0

В нашем случае ничего не было зарегистрировано (кроме записи журнала ошибок HTTP для 503), но значение Enabled Protocols для веб-приложения в IIS имело опечатку! Вместо http, https был промежуток между протоколами: http.https

0

Я получил эту ошибку с помощью приложения .Net MVC, которое использует Kentico в качестве спутниковой CMS. Проблема заключалась в том, что ему нужна была правильная лицензия для URL-адреса моего приложения. Это в основном остановило приложение и заставило IIS не возвращать ничего, кроме этого сообщения, недоступного для службы 503. В результате я обнаружил данные об ошибках в журнале событий Kentico (как предупреждение). Вы можете создать новую лицензию или найти информацию о лицензии в клиентском портале Kentico - https://client.kentico.com/.

0

Я получил эту ошибку, когда установил Skype. Поскольку мой сайт использует порт 80, а Skype использует тот же порт.

См. this.

0

В IIS перейдите в пулы приложений под сервером, затем найдите правильный пул приложений для своего веб-сайта и нажмите на него. В меню "Дополнительные параметры" справа в разделе "Общие" установите "Разрешить 32-разрядные приложения" = true.

Это как-то сработало для меня!

0

В моем случае пул приложений, связанный с доменом, не соответствует пулу приложений, связанному с отдельными сайтами/приложениями. Я не уверен, как это произошло, но как только был добавлен пул приложений домена, проблема была решена.

0

Это также может произойти, если какие-либо последние установки или обновления произошли с платформой .NET и/или ASP.NET. Если вы не знаете, что произошло недавно, и если все ваши приложения используют версию ASP.NET версии 4, вы можете попробовать reset их, выполнив следующие команды в командной строке в режиме администратора.

cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
aspnet_regiis -i

Это позволяет установить или переустановить ASP.NET 4 и обновить существующие приложения, чтобы использовать версию пула приложений ASP.NET 4. Он обновляет обработчики IIS Classic и интегрированного режима и script сопоставления в метабазе IIS. Он также воссоздает пулы приложений ASP.NET v4.0 и ASP.NET v4.0 Classic и устанавливает платформы .NET Framework 4 в пулы приложений DefaultAppPool и Classic.NET.

0

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

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

netstat -b
0

Я знаю, что это ответ по-разному, но в моем случае я заметил, что пул приложений останавливается автоматически даже после ручного перезапуска. И это, но когда я меняю пароль на используемую учетную запись и меняю несколько дней назад, она отлично работает без каких-либо изменений. Попробуйте то же самое.

0

Для меня DefaultAppPool не удалось запустить, и журнал событий сообщил мне, что C:\Windows\System32\inetsrv\redirect.dll не удалось загрузить.

Файл отсутствует. Причиной этого было то, что функция Windows "Перенаправление HTTP" не была установлена. Проверьте, является ли эта функция билетом в Internet Information Services\World Wide Web Services\Common HTTP Features\HTTP Redirection. Не требуется перезагрузка, если вы только что установили ее.

0

У меня была такая же проблема, и я обнаружил, что это вызвано проблемами разрешений, создающими профиль пользователя в C:\Users. Я предоставил ApplicationPoolIdentity полные разрешения для папки C:\Users, запустил сайт и все работало, профиль должен был быть создан правильно, и мой сайт работал так, как должен. Затем я удалил доступ к C:\Users из ApplicationPoolIdentity.

Сайт не запускается локально с использованием ApplicationPoolIdentity, только при использовании NetworkService: "Ошибка HTTP 503. Услуга недоступна."

0

Это может быть связано с количеством подключений к базе данных. У меня была такая ситуация, поэтому я написал де-конструктор и убил открытое соединение db, и оно разрешилось.

  • 0
    Как вы узнали, что у вас слишком много дБ-соединений? И можете ли вы быть более точным в отношении того, как вы написали этот «деструктор» и уничтожили открытые соединения БД? И как вы определили, какие соединения были безопасны для закрытия (т.е. больше не используются)?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню