http 오류 503 서비스를 사용할 수 없습니다. 웹 사이트에 액세스 할 때 앱 풀이 중지됨


167

이것에 대한 게시물 수가 많으며 지금까지 많은 것을 시도했습니다. 그러나 아무 소용이 없습니다. 나 자신은 기본적으로 Winforms 개발자이며 회사가 웹 이니셔티브를 시작하면서 며칠 전이 웹 작업을 시작했습니다.

ASP.Net 프로젝트가 있고 로컬 IIS에서 호스팅하고 싶습니다. 에서 Project properties -> Web설정 내가 선택 Use Local IIS Server하고 URL을 주었다 localhost/MyApp. 파이어 폭스 브라우저에서 액세스하려고 시도했지만 다음과 같은 오류가 발생했습니다.HTTP Error 503. The service is unavailable.

이전에는 다른 많은 오류가 있었고 하나씩 수정했습니다. 그러나 이것에 맞았다. 프로젝트에서 설정 한 내용입니다

  1. ASP.Net v4.0 Classic으로 설정된 응용 프로그램 풀
  2. 앱 풀 Enable 32 bit Application속성이 true
  3. 앱 풀이 시작되었습니다
  4. Any CPU대상 프레임 워크 에 대한 프로젝트 빌드 특성 세트

그러나 나는 이상한 행동을 언급하고 싶습니다. 다음은 내가 직면하고있는 것입니다.

  1. 응용 프로그램 풀이 시작되었습니다
  2. 로컬 웹 사이트에 액세스하려고합니다 (url을 localhost/MyApp).
  3. 나는 오류를 받는다 HTTP Error 503. The service is unavailable
  4. 응용 프로그램 풀이 중지되었습니다

다음 링크를 보았고 이미 시도했습니다. 위의 행동에 대해 나는 여기에 도달 했다 . 이 링크에 따르면 컴퓨터 이름에는 포함되지 않아야 .합니다. 나는 어떤이없는 .내 컴퓨터 이름이 아니라 있나요 -그 안에. 또한 내 도메인 이름에 포함 .되어 있습니다. 또한 내 사무실 랩톱 및 TFS 설정이 도메인 및 컴퓨터 이름에 바인딩되어 있으므로 이러한 설정을 변경할 수 없습니다.

아무도 무슨 일이 일어나고 있는지 이해하도록 도울 수 있습니까? 안내해주세요. 감사.

편집하다

에 다음 코드가 Global.asax있습니다. Application_BeginRequest동일한 파일에서 메소드가 비어 있습니다.

protected override void Application_Start(object sender, EventArgs e)
{
    base.Application_Start(sender, e);
    String _path = String.Concat(System.AppDomain.CurrentDomain.RelativeSearchPath, ";",
                                         System.Environment.GetEnvironmentVariable("PATH"));
    System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
    MyAppLog.Initialize();
    MyAppLog.WriteMessage("Application Started");
}

최신 정보

의견의 제안에 따라 Cassini에서 웹 사이트를 실행할 수 있습니다.


응용 프로그램 시작시 실행되는 Global.asax에 코드가 있습니까? 루프에 갇힐 수있는 것이 있습니까? 활성화 Enable 32 bit Application되었지만 32 비트 전용 DLL을 사용하고 있습니까?
CodingIntrigue

Cassini에서 실행할 때 어떻게됩니까?
Simon Whitehead

@RGraham : 프로젝트 빌드 속성이로 설정되었습니다 Any CPU. 따라서 사용 된 dll은 문제가되지 않아야한다고 생각합니다. Global.asax 코드의 편집 내용을 참조하십시오. 감사합니다
Sandy

@SimonWhitehead : Cassini가 무엇인지 전혀 모른다. cassinidev.codeplex.com 에서 지금 다운로드했습니다 . 다운로드 한 파일에서 일부 dll과 exe를 볼 수 있습니다. 사용법을 알려주세요. 한편 나는 인터넷 소스 에서이 문제를 읽으려고 노력할 것입니다.
Sandy

@SimonWhitehead : Cassini에서 웹 사이트를 실행할 수 있습니다.
Sandy

답변:


315

IIS의 응용 프로그램 풀이 일부 사용자 지정 계정으로 실행되도록 구성되어 있고이 계정이 없거나 잘못된 암호가 제공되었거나 암호가 변경 되었기 때문일 수 있습니다. 사용하는 계정에 대한 IIS의 응용 프로그램 풀의 고급 속성을 확인하십시오.

또한 이벤트 로그에는 첫 번째 요청에서 응용 프로그램 풀이 즉시 중지되는 이유에 대한 자세한 정보가 포함될 수 있습니다.

여기에 이미지 설명을 입력하십시오


38
제 경우에는 이것이 문제였습니다. Windows 암호를 변경하고 Windows 8.1 용 로컬 IIS가 작동을 멈췄습니다. 여러 장소에서 각 프로젝트를 업데이트해야했습니다. IIS 8에서는 풀을 마우스 오른쪽 단추로 클릭하고 "고급 설정-> 프로세스 모델-> ID"를 클릭하여 응용 프로그램 풀의 자격 증명을 업데이트해야했습니다. 그런 다음 "사이트-> MySITE-> 고급 설정-> 실제 경로 자격 증명"
teynon

4
계정이 존재하고 비밀번호가 올바른 경우에도 비활성화되었을 수 있습니다. 이것은 동일한 증상을 일으킬 것입니다.
볼프강

2
예, 그게 해결책입니다. 내 계정 비밀번호는 매우 자주 변경됩니다. 그리고 "고급 설정"에서 새 비밀번호를 잊어 버렸습니다
mihkov

2
이벤트 로그를 확인하는 방법은 마지막으로 이벤트 로그를 확인하고 iis에서 rewrite.dll을로드하는 데 실패한 것으로 판명되었습니다. 제어판의 프로그램 및 기능으로 이동했습니다. 설치를 수리하고 모든 것이 정상으로 돌아 왔습니다.
Amr Elgarhy

3
최근 비밀번호가 변경되었습니다. 이것이 해결책이었습니다. 다른 사람들을 위해, 여기에 스크린 샷을 참조하십시오 : i.imgur.com/rp8bnGy.png
AskYous

43

WINDOWS 10을 사용하고 최근에 Anniversary Update 패키지로 업데이트 한 경우 아래 단계를 따라야합니다.

  1. 확인 Windows Event Viewer-Win + R eventvwr을 누르고 다음을 입력 한 다음 Enter 키를 누릅니다.
  2. 왼쪽 Windows Event Viewer에서 Windows Logs-> 를 클릭하십시오 Application.
  3. 이제 IIS-W3SVC-WP중간 창에서 소스 에 대한 오류를 찾아야 합니다.
  4. 아마도 다음과 같은 메시지가 나타납니다.

모듈 DLL >> path-to-DLL <<을 (를) 불러 오지 못했습니다. 데이터가 오류입니다.

  1. Control Panel-> 로 이동하여 Program and Features로드 할 수없는 dll에 따라 다른 모듈을 복구해야합니다.
    • 대한 rewrite.dll- 찾을 IIS URL 재 작성 모듈 2를 클릭 Change->Repair
    • 대한 aspnetcore.dll- 찾을 마이크로 소프트 .NET 핵심 1.0.0 - VS 2015 공구를 ... 클릭 Change-> Repair.
  2. 컴퓨터를 다시 시작하십시오.

이 답변은 비슷한 문제를 해결하는 데 도움이되었습니다. Core 2.2를 제거하여 "서비스를 사용할 수 없음"오류가 수정되었습니다 (수리만으로는 해결되지 않음). 투표.
Roberto

2
받아 들여진 대답은 도움이되지 못했습니다. 그렇습니다. 감사!
악마의 옹호자

1
좋은 대답, 로그 표시 모듈 DLL C : \ Windows \ System32 \ inetsrv \ compdyn.dll을로드하지 못했습니다. 데이터가 오류입니다. 동적 콘텐츠 압축
Mehdi Daustany

나를 위해, 그것은이었다 The Module DLL C:\Windows\System32\inetsrv\iis_ssi.dll failed to load. The data is the error.내가 선택 서버 사이드 당 포함 설치 그래서 이 제안
데이비드 Refoua

14

내 상황에서는 로그인 비밀번호가 변경되었지만 응용 프로그램 풀은 여전히 ​​이전 비밀번호를 사용합니다. 따라서 응용 프로그램 풀의 "고급 설정"을 클릭하고 "ID"를 재설정하십시오.


나는 이것이 자주 발생한다는 것에 동의합니다
Sandy

11

나는 같은 문제에 직면하여 이벤트 로그를 사용하여 디버깅했습니다. 먼저 "소스 Microsoft-Windows-WAS의 이벤트 ID 5059에 대한 설명을 찾을 수 없습니다"라고 말했습니다.

그런 다음 Windows 기능 켜기 / 끄기를 사용하여 WAS를 켰습니다 . 그런 다음 eventvwr "Microsoft-Windows-DistributedCOM을 찾을 수 없습니다"에서 이것을 보았습니다.

마지막으로 웹 사이트 액세스를 중지하는 데 사용 된 App Pool을 포기하고 삭제하고 그대로 다시 만들었습니다. 문제가 해결되었습니다.


동일한 앱 풀을 참조하는 많은 사이트가있는 경우 appcmd 를 사용 하여 일괄 업데이트 할 수 있습니다. appcmd list site /xml | appcmd set site /[path='/'].applicationPool:YOURNEWPOOL /in
drzaus

나도 일했다. 2008 년에서 2012 년으로 업그레이드함으로써 앱 풀은 완전히 만족스럽지 않았습니다.
Anthony Horne

6

Windows 10을 사용하고 기념일 업데이트로 업데이트 한 사람은이 링크를 확인하십시오.

https://orcharddojo.net/blog/troubleshooting-iis-apppool-crashes-status-503-after-windows-10-anniversary-update

링크가 중단되는 경우 : 이벤트 로그에 aspnetcore.dll, rewrite.dll (가장 자주 있지만 다른 것도있을 수 있음)이 표시되지 않으면 누락 된 항목을 복구해야합니다.

지금까지 두 가지 구체적인 문제와 해결 방법이 있지만 완전히 다른 문제가 발생할 수 있습니다.

"C:\WINDOWS\system32\inetsrv\rewrite.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "IIS URL Rewrite Module 2".
"C:\WINDOWS\system32\inetsrv\aspnetcore.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "Microsoft .NET Core 1.0.0 - VS 2015 Tooling ...".

6

대부분의 경우 AppPool 설정으로 인해 발생했습니다.

이 문제를 해결하려면 다음을 확인하십시오.

  1. Apppool 서비스가 실행 중인지 확인하십시오.
  2. AppPool의 ID를 확인하십시오.
  3. 해당 ID로 변경된 새 비밀번호를 입력하십시오.

다음 이미지는 IIS에서 이러한 설정을 보여줍니다.

여기에 이미지 설명을 입력하십시오


5

McAfee HIPS가 있고 이벤트 뷰어 응용 프로그램 로그에 다음 오류가 표시되는 경우 :

모듈 DLL C : \ Windows \ System32 \ inetsrv \ HipIISEngineStub.dll을로드하지 못했습니다.
데이터가 오류입니다.

그런 다음 다음과 같은 경우 내 문제를 해결했습니다. https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST

페이지에서 인용 :

  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 파일 편집을 완료 한 후 파일을 저장 한 다음 iisreset을 사용하거나 시스템을 다시 시작하여 IIS 서버를 다시 시작하십시오.

5

필자의 경우 이벤트 로그를 확인하고 '구성 파일을 읽을 수 없습니다.'파일 '\\? \'에서 줄 번호 '0'을 (를) 읽으려고합니다. 데이터 필드에는 오류 코드가 포함되어 있습니다.

오류 코드는 2307입니다.

C : \ inetpub \ temp \ appPools의 모든 파일을 삭제하고 iis를 다시 시작했습니다. 문제가 해결되었습니다.


4

나는 비슷한 문제가 있었다. "로컬 보안 정책"> "로컬 정책"> "사용자 권한 할당"의 "일괄 작업으로 로그온"정책에 사용자를 추가하여 문제를 해결했습니다.


4

처음으로 서비스를 추가하고 서비스 풀을 만들었습니다. 명령 프롬프트에서 "iisreset"을 수행했는데 효과가있었습니다.


3

Visual Studio 디버거에서 웹 사이트를 실행할 수 있으면 코드에서 응용 프로그램 풀이 충돌하는 위치를 확인할 수 있습니다. 필자의 경우 재귀 적으로 호출되는 함수 였고 스택 오버플로가 발생했습니다. 참고 : Windows 이벤트 로그 및 IIS 로그는 문제 진단에 도움이되지 않았습니다.


3

iis 8.5와 같은 문제가있었습니다. Windows 로그-> 응용 프로그램에서 eventViewer를 검색 한 후 "C : \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319에있는 .net 프레임 워크의 machine.config 파일에 대한 권한 오류가 있음을 깨달았습니다. \ Config \ machine.config ". IIS_IUSRS에 대한 권한을 부여하면 내 문제를 해결했습니다 (파일을 마우스 오른쪽 단추로 클릭-> 속성-> 보안-> 편집-> 추가-> IIS_IUSRS)


3

이 오류가 발생했으며 내 경우에는 얼마 전에 사용자 암호를 수정했기 때문에 응용 프로그램 풀을 다시 시작할 때까지 503 오류가 나타나지 않았습니다.

그래서 응용 프로그램 풀 / 고급 설정 / 신원 / [...] / 설정 ... / 비밀번호 / 비밀번호 확인에서 새 비밀번호를 설정하도록 수정했습니다.


2

비슷한 문제가 있었는데 웹 요청이있을 때마다 모든 앱 풀이 중지되었습니다. 이벤트 뷰어에서 다음과 같은 오류가 발생했습니다.

'appPoolName'응용 프로그램 풀의 작업자 프로세스에서 '\? \ C : \ inetpub \ temp \ apppools \ appPoolName \ appPoolName.config'파일에서 '구성 파일이 올바른 형식의 XML이 아닙니다'오류가 발생했습니다. 숫자 '3'. 데이터 필드에는 오류 코드가 포함되어 있습니다.

다음에서 application.config에 오류가 있음을 알려줍니다.

C : \ Windows \ System32 \ inetsrv \ config \ applicationHost.config

내 시나리오에서는 IIS에서 명확하게 싫어하는 요소로 배포 할 때 web.config를 편집하고 applicationHost.config가 web.config를 스크랩 하고이 잘못된 요소를 삽입했으며 수동으로 제거 할 때까지 해결되지 않았습니다.


"요소 IIS는 분명히 싫어한다"라고 언급 한 특정 요소가 무엇인가 ??
Akhil

나는 4 년 전에이 포스트를 만들었습니다. web.config에 어떤 요소가 있는지 잘 모르겠지만 요점이 아닙니다. OP가 설명하는 앱 풀 문제가 발생하여 도움이되지 않는 오류 메시지가 나타납니다. 위의 원인은 내 사이트의 web.config에 잘못된 항목을 입력했기 때문입니다. (IIS에서 유효하지 않은 철자 오류 또는 구문 오류 또는 섹션이있을 수 있음)
ShaneC

2

Orhan의 답변에서이 링크에 설명 된 단계 외에도 IIS 관리자> 서버 루트> 모듈> 기본 모듈 구성으로 이동하여 기본 모듈을 추가로 제거해야 할 수도 있습니다. MfeEngine을 선택한 다음 제거를 선택하십시오.


2

"Managed Pipeline Mode"를 "Classic"에서 "Integrated"로 변경하면 효과가 있습니다. 응용 프로그램 풀-> 기본 설정에서 변경할 수 있습니다


IIS 7.5를 실행하는 Windows Server 2008 R2에 다음 Windows KB를 적용한 후 나타나는 문제가 해결되었습니다. ### 2019-07 Windows 7 및 Server 2008 R2의 .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 용 보안 및 품질 롤업 x64 용 (KB4507420) 추가 정보 : support.microsoft.com/kb/4507420 ###
phanf

1

Anniversary Update누락 된 파일이 cgi.dll이면 즉, Event Viewer가지고있는 경우이 문제 에 추가하기 만하면됩니다 (Microsoft 덕분에)

The Module DLL C:\WINDOWS\System32\inetsrv\cgi.dll failed to load.  The data is the error.

그런 다음이를 수정하십시오.

  1. 이동 IIS Manager
  2. 에서 맨 위 행을 선택하십시오 Connections패널 (일반적으로 PC 이름)을 선택하십시오.
  3. 오른쪽 패널의 맨 아래에있는 Management 있는Web Platform Installer
  4. 로드되면 Products
  5. 검색 유형에서 cgi 다음 히트<Enter>
  6. 선택 IIS: CGI클릭 한 다음 Add마지막으로 오른쪽에와 Install바닥에
  7. 설치 후 PC를 강제로 다시 시작해야하며 수정해야합니다.

1
내 것은 내가 제거하고 다시 설치 한 "Url Rewrite"입니다. 이 오류가 발생했기 때문에 "모듈 DLL C : \ WINDOWS \ system32 \ inetsrv \ rewrite.dll을 (를) 불러 오지 못했습니다. 데이터는 오류입니다."
Gwasshoppa
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.