Ошибка 503. Сервис недоступен
Я действительно новичок в настройке веб-серверов в целом. У меня есть IIS 8 на Windows 8, и я пытаюсь настроить небольшой сайт локально, в то же время делая некоторые разработки. В IIS я выбираю "Добавить сайт", даю имя, указывает на местоположение, где у меня есть файл index.html (я пробовал разные места, последние в папке c: \ inetpub \ wwwroot \ test -folder), а в остальном использую все по умолчанию. настройки. Однако, когда я пытаюсь перейти к localhost, я получаю
Ошибка 503. Сервис недоступен.
Я проверил пул и дал полный доступ IIS_IUSRS для целевой папки
Я искал вокруг, но не нашел ничего, что решило бы мою проблему, и нет ничего полезного в EventLog или в папке C:\Windows\System32\LogFiles\HTTPERR
Кто-нибудь может сказать мне, что не так?
51 ответ
Возможно, идентификация пользователя устарела, особенно если вы пытались запустить остановленный пул приложений, и следующий запрос снова не удался.
В IIS перейдите в пулы приложений на сервере, затем найдите правильный пул приложений для вашего веб-сайта и щелкните по нему. В меню Advanced Settings справа выберите Identity, измените его и введите нового пользователя и пароль. Снова нажмите на пул приложений и выберите Recycle, чтобы перезапустить его.
Вы также можете попробовать просмотреть сообщение об ошибке в окне "Просмотр событий" в разделе "Журналы Windows, приложение, вкладка" Сведения "".
Изменить: Jcolebrand 2017-05-04
У меня была эта ошибка, и это было потому, что я делал некоторые сценарии PowerShell, поэтому я имел C:\\path
вместо C:\path
, Уу проверь! Говоря так, всегда проверяйте введенные значения.
Другие ответы в порядке. Но в моем случае я работал над коробкой Windows, на которой уже работал какой-то старый IIS, IISExpress или любой другой веб-сайт. То, что произошло, - это списки ACL URL-адресов, которые зарезервированы в системе Итак, вы можете проверить это.
Вот консольная команда для сброса всех URL-адресов:
netsh http show urlacl
Проверьте, что возвращено здесь, и, если что-то соответствует URL, который вы тестируете, вот команда, чтобы удалить один URL acl (например):
netsh http delete urlacl url=http://localhost:2018/
(будьте осторожны, чтобы внимательно отметить, что вы делаете здесь, если это не было связано с первоначальной проблемой)
В моем случае проблема заключалась в DefaultAppPool. Я изменил "Загрузить профиль пользователя" на false и теперь он работает. Тем не менее, я не знаю, есть ли побочные эффекты к этому.
Проверьте соответствующий пул Application Framework вашего приложения - его можно остановить. Если это так, запустите его и проверьте снова.
Если у вас все еще возникают проблемы, вы также можете обратиться к Event Viewer, чтобы найти причину этой ошибки, чтобы устранить другие проблемы.
Если это кому-нибудь поможет, и это может показаться смешным, но для меня это не очевидно, если пул приложений не был запущен. Я просто предполагал, что при запуске сайта или создании пула приложений он запустится. На самом деле, я даже не знал, что вам нужно было запускать пул приложений...
Если пул приложений работает под каким-то именем пользователя, перейдите к дополнительным настройкам обновления пароля пользователя снова, это сработало для меня.
В моем случае пул приложений остановился. Запуск это решило проблему.
Мой сайт размещен на Arvixe. Проблема с ошибкой, вероятно, возникла из-за того, что у меня есть приложение на основе членства и что-то плохое произошло, когда я загружал файлы.
Если пул приложений сразу останавливается после его запуска, и журнал событий показывает:
Рабочий процесс для пула приложений "APP_POOL_NAME" обнаружил ошибку "Не удается прочитать файл конфигурации" при попытке чтения данных конфигурации из файла "\?\", Номер строки "0". Поле данных содержит код ошибки.
... вы можете столкнуться с ошибкой, которая, по-видимому, была представлена в Windows 10 Fall Creators Update и / или.Net Framework v4.7.1. Это может быть решено с помощью следующих шагов обхода, которые из этого ответа на связанный вопрос Не удается прочитать файл конфигурации "пытается прочитать данные конфигурации из файла" \\?\
- Перейдите на диск, на котором установлен IIS, например.
C:\inetpub\temp\appPools\
- Удалите каталог (или виртуальный каталог) с тем же именем, что и у пула приложений.
- Перезапустите / снова запустите пул приложений.
Я сообщил об этой ошибке в Microsoft, создав следующую проблему в репозитории dotnet GitHub: После установки 4.7.1 IIS AppPool останавливается с сообщением "Не удается прочитать файл конфигурации".
РЕДАКТИРОВАТЬ
Microsoft ответила, что это известная проблема в процессе установки Windows для обновления Fall Creators и была задокументирована в KB 4050891, веб-приложения возвращают ошибку HTTP 503 и событие WAS 5189 в Windows 10 версии 1709 (обновление Fall Creators). Эта статья предоставляет следующую процедуру обхода, которая аналогична приведенной выше. Однако обратите внимание, что он будет перезапускать все пулы приложений независимо от того, затронуты ли они этой проблемой.
- Откройте окно Windows PowerShell с помощью параметра "Запуск от имени администратора".
- Запустите следующие команды:
Stop-Service -Force WAS
Remove-Item -Recurse -Force C:\inetpub\temp\appPools\*
Start-Service W3SVC
Или, если ни одно из текущих решений не работает, найдите в каталоге вашего сайта файл с именем app_offline.htm
, Это в основном говорит IIS, что ваш сайт недоступен, и вместо этого показывать эту страницу.
Чтобы исправить это, либо удалите его, либо переименуйте в app_offline.htm.bak
,
В моем случае я добавил это, показывая коллеге, как использовать это для временного предотвращения трафика на сайт, а затем забыл, что я сделал это на своем ящике. Вздох.
Начните с просмотра Event Viewer, либо в системном журнале, либо в журнале приложений.
В моем случае проблема заключалась в том, что ни один рабочий процесс не мог быть запущен для пула приложений, потому что его файл конфигурации не мог быть прочитан - я добавил дополнительный "." в конце его имени.
Для Windows Server 2012 R2 я сделал это: IIS > App.. Pools > (имел черный квадрат "стоп") > щелкните его правой кнопкой мыши> start
Я решил эту проблему, удалив резервирование URL-адреса, соответствующее каталогу моего приложения в IIS. У меня была похожая (определенно не та) проблема, описанная в этой статье:
Не очень распространенная первопричина для службы 503 недоступна
В моем случае пул приложений по умолчанию был в автономном режиме. Чтобы устранить проблему, я проверил журналы IIS, расположенные в C:\Windows\System32\LogFile\HTTPERR. Прокрутите вниз до самых последних журналов ошибок, это покажет вам проблемы с IIS, если любая Моя ошибка была "503 1 AppOffline DefaultPool"
Решение Откройте диспетчер IIS и нажмите "Пулы приложений", в котором перечислены все пулы приложений справа от вас. -Проверьте, есть ли на пулах приложений, на которых размещены ваш API или сайт, знак остановки. Если это так, щелкните правой кнопкой мыши пул приложений и нажмите Пуск. _ Попытка снова получить доступ к вашему сервису от клиента. Это сработало для меня. Кричит на @kombsh
Возможно, что для вашего домена требуется учетная запись, используемая для запуска AppPool, чтобы иметь права пакетного входа. В этом случае вы увидите это же сообщение об ошибке. Чтобы узнать, так ли это, просмотрите системные события в средстве просмотра событий. Должно быть событие, говорящее о том, что учетная запись, используемая с пулом приложений, имеет либо "неправильный пароль, либо не имеет прав на пакетный вход".
Вот почему разработчики довольно часто используют IIS Express на своей машине для разработки, так как она проходит мимо проблем с правами пакетного входа.
В моем случае я создал новый пул приложений и просто забыл его запустить.
В моем случае Pool использует пользовательские идентификационные данные (учетную запись и пароль). После истечения срока действия пароля и его повторной загрузки произошла ошибка. Я просто исправил пароль в идентификационной информации.
Я столкнулся с той же проблемой, но это была проблема с фактическими настройками сайта в IIS
,
Выбрать Advanced Settings...
для вашего сайта / приложения, а затем посмотрите на Enabled Protocols
значение. Для любого резонанса значение было пустым для моего сайта и вызвало следующую ошибку:
Ошибка 503. Сервис недоступен.
Исправление было добавить в http
и выберите OK
, Сайт снова стал функциональным.
У меня была одна и та же проблема долгое время, и я подумал, что проблема связана с моим кодом. Оказывается, на сервере IIS мой пул приложений для этого конкретного проекта был остановлен. Я снова включил его, и проблема была решена. Ошибка 503, скорее всего, связана с пулом приложений.
Проверьте Event Viewer - Windows - Приложение. Если из IIS-W3SVC-WP есть красная строка "Ошибка", и сообщение похоже на "Ошибка загрузки модуля DLL C:\Windows\system32\inetsrv\rewrite.dll". Данные являются ошибкой. тогда вам не хватает некоторых возможностей программы установки Windows.
В Windows Server 2012 перейдите в Диспетчер серверов, Добавить роли и компоненты, Веб-сервер (IIS) и добавьте соответствующую функцию. Обычно большая часть раздела "Разработка приложений" установлена. Вот полный список функций IIS и связанных с ними DLL, чтобы помочь в диагностике.
Пройдя через несколько итераций, я закончил с сообщением об ошибке выше относительно "rewrite.dll". Это привело к прямой загрузке и установке средства перезаписи URL-адресов Microsoft. Наконец все сайты ожили.
Наш сервер исчерпал дисковое пространство в воскресенье днем, что привело к внезапному сбою приложения и возвращению ошибки HTTP 502. Журналы были пустыми, поэтому это должно было происходить до того, как IIS что-либо предпринял.
Быстрый взгляд на просмотрщик событий (WIN+R > eventvwr
) разоблачил проблему.
Хорошая идея - отфильтровать выходные данные окон System и Application в WAS, поскольку они могут быть довольно многословными.
Приложение зависело от другого, который был отключен. Поэтому имейте в виду, что приложение может отключиться косвенно, если один из его зависимых процессов вышел из строя. Мы просто повторно включили пул приложений.NET, и наше другое приложение снова заработало нормально.
Я вижу эту ошибку после установки модуля перезаписи URL, я пытаюсь установить его предыдущую версию с: https://www.microsoft.com/en-us/download/details.aspx?id=7435 это исправило мою ошибку
У меня была ошибка 503, и я проверил в IIS соответствующий пул приложений для сайта. Пул приложений находился в режиме «Остановлен». Итак, я только что запустил пул приложений. Тогда мой сайт заработал.
Я следовал по ссылке Решить ошибку HTTP 503 выше. В моем случае мой пул приложений останавливался каждый раз, когда я щелкаю правой кнопкой мыши на своем SVC-файле и выбираю "Обзор".
Я выполнил следующие шаги, чтобы решить проблему остановки пула приложений.
Я использую Windows Server 2008 R2.
В моем пуле приложений диспетчера IIS я щелкнул правой кнопкой мыши по пулу приложений, который мне интересен, и щелкнул Дополнительные параметры. Откроется всплывающее окно "Дополнительные настройки".
В разделе "Модель процесса" нажмите "Идентификация" и нажмите кнопку "Установить" во всплывающем окне "Идентификация пула приложений". Откроется всплывающее окно "Установить учетные данные", где я указал имя пользователя, пароль и подтвердил пароль и нажал кнопку "ОК".
Теперь, когда я щелкаю правой кнопкой мыши по файлу svc, он открывается в браузере IE.
На самом деле, в моем случае https://localhost/ работал, но http://localhost/ выдал HTTP 503 Внутренняя ошибка сервера. Изменение привязки веб-сайта по умолчанию в IIS для использования имени хоста localhost вместо пустого имени хоста.
Если у вас установлена перезапись URL IIS, это может быть связано с этим. У меня возникли проблемы после обновления Windows 10.
Идти к Windows Control Panel
> Programs and Features
> IIS URL Rewrite Module 2
> Repair
,
Если у вас есть McAfee HIPS и вы видите следующую ошибку в журнале приложения просмотра событий:
Не удалось загрузить модуль DLL C:\Windows\System32\inetsrv\HipIISEngineStub.dll.
Данные являются ошибкой.
Затем этот обходной путь на McAfee.com решил проблему в моем случае.
Цитата со страницы:
- Нажмите Пуск, Выполнить, введите проводник и нажмите ОК.
- Перейдите к: %windir%\system32\inetsrv\config
- Откройте файл applicationHost.config от имени Администратора для редактирования в Блокноте.
Отредактируйте раздел
и удалите следующую строку: Отредактируйте раздел
и удалите следующую строку: - После того, как вы закончили редактирование файла applicationHost.config, сохраните его, затем перезапустите сервер IIS, используя iisreset или перезагрузив систему.
В моем случае проблема заключалась в том, что другое приложение использовало порт, который я привязал к своему веб-сайту.
Я нашел это, выполнив следующую команду из командной строки, в которой перечислены все прослушивающие порты и задействованный исполняемый файл:
netstat -b
Это также может произойти, если какие-либо недавние установки или обновления произошли с.NET Framework и / или ASP.NET. Если вы не уверены в том, что произошло недавно, и если все ваши приложения используют ASP.NET версии 4, вы можете попробовать сбросить их, выполнив следующие команды в командной строке в режиме администратора.
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
aspnet_regiis -i
Это гарантирует установку или переустановку ASP.NET 4 и обновление существующих приложений для использования версии пула приложений ASP.NET 4. Он обновляет как обработчики IIS Classic и Integrated mode, так и сопоставления сценариев в метабазе IIS. Он также воссоздает пулы приложений ASP.NET v4.0 и ASP.NET v4.0 Classic и устанавливает для.NET framework 4 значения DefaultAppPool и Classic .NET пулов приложений.
Также проверьте адресную строку и убедитесь, что страница находится в нужном месте.
Эта ошибка может быть возвращена вместо 404 (страница не найдена). В моем случае это была плохая ссылка на странице, в которой не было вложенной папки.
То же самое с IIS Express 10.0 после обновления Windows 7 до Windows 10. Решение: перейдите на IIS и включите все отключенные веб-сайты и переустановите ASP.NET Core.