HTTP 오류 503.서비스를 사용할 수 없습니다.웹 사이트에 액세스할 때 앱 풀이 중지됨
이 글에는 많은 글들이 올라왔고 저는 지금까지 많은 것들을 시도해 왔습니다.하지만 소용이 없습니다.저는 Winforms 개발자입니다. 제 회사가 웹 이니셔티브를 취하고 있을 때 며칠 전부터 이 웹 관련 작업을 시작했습니다.
IIS.ASP.Net에서 .Project properties -> Web
가 선택한 한설정택선Use Local IIS Server
그리고 URL을 다음과 같이 지정했습니다.localhost/MyApp
파이어폭스 브라우저에서 액세스를 시도했는데 다음과 같은 오류가 발생했습니다.HTTP Error 503. The service is unavailable.
이전에 저는 많은 다른 오류를 얻었고 하나씩 모두 수정했습니다.하지만 이것으로 타격을 받았습니다.프로젝트에 있는 설정입니다.
- Application Pool이 ASP.Net v4.0 Classic으로 설정됨
- 풀 »
Enable 32 bit Application
입니다. - 앱 풀이 시작되었습니다.
- 속성을 프젝속다음으로 합니다.
Any CPU
하지만 저는 이상한 행동을 언급하고 싶습니다.다음은 제가 직면한 것입니다.
- 애플리케이션 풀이 시작됨
- (url을 제공하여) 로컬 웹 사이트에 액세스하려고 합니다.
localhost/MyApp
) - 다음과 같은 오류를 수신합니다.
HTTP Error 503. The service is unavailable
- 애플리케이션 풀이 중지됨
저는 아래 링크를 보았고 이미 시도했습니다.위의 행동에 대해 저는 여기에 도달했습니다.이 링크에 따르면 컴퓨터 이름은 다음과 같을 수 없습니다..
안에. 안에가 하나도요. 나는 아무것도 없습니다..
내 컴퓨터 이름으로 하지만 가지고 있습니다.-
에. 제 에 그안이 들어있습니다. 또한 내 도메인 이름은.
게다가 내 사무실 노트북이고 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");
}
갱신하다
댓글의 제안에 따라, 저는 카시니에서 웹사이트를 운영할 수 있습니다.
IIS의 응용 프로그램 풀이 일부 사용자 지정 계정으로 실행되도록 구성되어 있고 이 계정이 존재하지 않거나 잘못된 암호가 제공되었거나 암호가 변경되었을 수 있습니다.IIS에서 응용 프로그램 풀이 사용하는 계정의 고급 속성을 확인합니다.
또한 첫 번째 요청 시 애플리케이션 풀이 즉시 중지되는 이유에 대한 자세한 정보가 이벤트 로그에 포함될 수 있습니다.
예, 한 가지 특정 사례에 대한 다른 솔루션이 있습니다. Windows 10을 사용하고 최근에 기념일 업데이트 패키지로 업데이트한 경우 다음 단계를 수행해야 합니다.
- 를 확인해 .
Windows Event Viewer
Win 다음과 같이 합니다.eventvwr
그런 다음 ENTER를 누릅니다. - 의왼에쪽의 .
Windows Event Viewer
을 클릭합니다.Windows Logs
->Application
. - 은 출처에 몇 오류를 .
IIS-W3SVC-WP
가운데 창문에 - 다음과 같은 메시지가 표시될 것입니다.
모듈 DLL >> DLL 경로<<를 로드하지 못했습니다.데이터가 오류입니다.
- 다음으로 이동해야 합니다.
Control Panel
->Program and Features
로드할 수 없는 DLL에 따라 다른 모듈을 복구해야 합니다.- 위해서
rewrite.dll
IIS URL Rewrite Module 2를 찾아 다음을 클릭합니다.Change
->Repair
- 위해서
aspnetcore.dll
Microsoft .NET Core 1.0.0 - VS 2015 Tooling...을 찾아 다음을 클릭합니다.Change
->Repair
.
- 위해서
- 컴퓨터를 재부팅하세요.
내 상황에서는 로그인 비밀번호가 변경되었지만 응용프로그램 풀은 여전히 이전 비밀번호를 사용합니다.따라서 응용 프로그램 풀의 "고급 설정"을 클릭하고 "아이덴티티"를 재설정하십시오.
저도 같은 문제에 직면하여 이벤트 로그를 사용하여 디버깅했습니다.먼저 "Microsoft-Windows-WAS 소스의 이벤트 ID 5059에 대한 설명을 찾을 수 없습니다."라고 말했습니다.
그런 다음 Turn Window 기능을 사용하여 WAS를 켭니다.그리고 나서 나는 이것을 이벤트 vwr "Microsoft-Windows-Distributed"에서 보았습니다.COM을 찾을 수 없습니다."
결국 저는 포기하고 앱 풀(웹사이트 접속을 멈추던 앱 풀)을 삭제하고 그대로 다시 만들었습니다.이것으로 문제가 해결되었습니다.
대부분의 경우 앱 풀 설정으로 인해 발생했습니다.
이 문제를 해결하려면 다음을 확인하십시오.
- Apppool 서비스가 실행 중인지 확인합니다.
- AppPool의 ID를 확인합니다.
- 해당 ID에 대해 변경된 경우 새 암호를 입력합니다.
다음 이미지는 IIS에서 이러한 설정을 보여줍니다.
Windows 10을 사용하여 Anniversary 업데이트로 업데이트한 후 이 링크를 확인하면 도움이 됩니다.
링크가 다운된 경우:이벤트 로그에 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 ...".
McAfee HIPS가 있고 이벤트 뷰어 응용 프로그램 로그에 다음 오류가 표시되는 경우:
C 모듈 DLL C:\Windows\Hip은 시스템32\inetsrv\HipIIEngineStub.dll 파일입니다.
데이터가 오류입니다.
그러면 다음과 같은 문제가 해결되었습니다. https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST
페이지의 인용문:
- 시작, 실행을 클릭하고 탐색기를 입력한 다음 확인을 클릭합니다.
- %windir%\system32\inetsrv\config로 이동합니다.
- 메모장에서 편집할 수 있도록 Host.config 파일 응용 프로그램을 Administrator로 엽니다.
을 편집하고 행을 합니다. <globalModules>의 경우는 다음과 같습니다.
name=Engine" ="add name="MfeE Engine" 이미="windir%\"Hip은 시스템32\inetsrv\HipIISEngineStub.dll" />을 편집하고 행을 합니다. <modules> <modules> <modules> <modules> <modules>
name=/> <add name="MfeEngine" />- applicationHost.config 파일 편집을 마치면 파일을 저장한 다음 iisreset을 사용하거나 시스템을 다시 시작하여 IIS 서버를 다시 시작합니다.
이 경우 이벤트 로그를 확인한 결과 구성 파일 '\\?에서 구성 데이터를 읽으려고 합니다. 구성 파일을 읽을 수 없습니다.라는 오류가 발생했습니다.라인 번호 '0'입니다.데이터 필드에 오류 코드가 있습니다.
에러 코드는 2307이었습니다.
C:\inetpub\temp\appPools의 모든 파일을 삭제하고 iis를 다시 시작했습니다.그것은 문제를 해결했습니다.
저도 비슷한 문제가 있었습니다."로컬 보안 정책" > "로컬 정책" > "사용자 권한 할당"의 "배치 작업으로 로그온" 정책에 사용자를 추가하여 해결했습니다.
처음 서비스를 추가하고 이를 위한 앱 풀을 만들 때.명령 프롬프트에서 "iisreset"을 실행했는데 작동했습니다.
이 오류가 발생했습니다. 얼마 전에 사용자 암호를 수정했는데 애플리케이션 풀을 다시 시작할 때까지 503 오류가 나타나지 않았기 때문입니다.
그래서 애플리케이션 풀 / 고급 설정 / ID / [...] / 설정... / 비밀번호 / 비밀번호 확인에서 새 비밀번호를 설정하여 수정했습니다.
Visual Studio 디버거에서 웹 사이트를 실행할 수 있으면 코드에서 응용 프로그램 풀이 충돌하는 위치를 확인할 수 있습니다.저의 경우, 그것은 무한히 재귀적으로 호출되는 함수였고, 그것은 스택 오버플로를 야기했습니다.참고: Windows 이벤트 로그와 IIS 로그는 문제를 진단하는 데 도움이 되지 않았습니다.
IIS 8.5에서도 동일한 문제가 있었습니다.windows Logs--> applications에서 eventViewer를 검색한 후 "C:"에 있는 .net 프레임워크의 machine.config 파일에 대한 권한 오류가 발생하고 있음을 깨달았습니다.\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config".IIS_IUSRS에 대한 사용 권한을 부여하여 문제가 해결되었습니다(파일 오른쪽 버튼을 클릭하면-->속성-->보안-->편집-->추가-->IIS_IUSRS)
여기에 덧붙이자면Anniversary Update
파일일 경우 문제(Microsoftcgi.dll
의 당Event Viewer
가지다
The Module DLL C:\WINDOWS\System32\inetsrv\cgi.dll failed to load. The data is the error.
그러면 이 문제를 해결하려면:
- 에 가다
IIS Manager
- 음에서 에서 맨 위합니다.
Connections
으로 사용자의 이름 설정(PC 이름) - 의 맨 오쪽패맨아있에는아래에래의널른▁at아에래▁under,.
Management
당신은 했어야 했습니다.Web Platform Installer
- 로드가 완료되면 다음을 선택합니다.
Products
- 검색에 다음을 입력합니다.
cgi
나서 다음에그를 누릅니다.<Enter>
- 를 선택합니다.
IIS: CGI
클합니다를 클릭합니다.Add
에 그리고 마지막으로 오른에그마리로지으막고쪽▁on로마으막지.Install
아래에 - 설치 후 PC를 강제로 다시 시작하고 수정해야 합니다.
문제를 해결하려면 동일한 문제에 직면했을 때의 단계를 따르고 아래 솔루션이 효과가 있었습니다.
1 - IIS_IUSRS에 "C:\inetpub\temp" 폴더의 전체 권한 또는 적어도 읽기 액세스 권한을 부여합니다.
2- 또한 "C:\inetpub\wwroot" 폴더의 사용자 IIS_IUSRS에 부여된 동일한 권한을 확인합니다.
이 해결책이 효과가 있기를 바랍니다!
저도 비슷한 문제가 있었습니다. 웹 요청이 있을 때마다 모든 앱 풀이 중지되었습니다.이벤트 뷰어에서 다음 오류가 발생했지만:
애플리케이션 풀 'appPoolName'에 대한 작업자 프로세스에서 '구성 파일이 올바른 형식의 XML이 아닙니다.' 오류가 발생했습니다. 파일에서 구성 데이터를 읽으려고 합니다.\?\C:\inetpub\temp\apppools\appPoolName\appPoolName.config', 행 번호 '3'.데이터 필드에 오류 코드가 있습니다.
application.config에 다음 위치에서 오류가 발생했습니다.
C:\Windows\System32\inetsrv\config\applicationHost.config
내 시나리오에서 IIS가 분명히 싫어하는 요소로 web.config on deploy를 편집했는데 applicationHost.config가 web.config를 스크랩하고 이 불량 요소를 삽입하여 수동으로 제거할 때까지 해결되지 않았습니다.
Orhan의 답변에서 이 링크에 설명된 단계 외에도 IIS Manager > Server Root > Modules > Configure Native Modules로 이동하여 Native 모듈을 추가로 제거해야 할 수 있습니다.MfeEngine을 선택한 다음 Remove를 선택합니다.
"관리되는 파이프라인 모드"를 "클래식"에서 "통합"으로 변경하는 것이 효과가 있었습니다.Application Pool -> Basic Settings에서 변경 가능합니다.
이 문제가 발생할 수 있는 한 가지 가능한 이유는 서버 시스템에 디스크 공간이 부족하기 때문입니다.이벤트 뷰어에서 자세한 정보를 찾을 수 있습니다. 이러한 경우 IIS를 중지하고 사용 가능한 디스크 공간을 정리한 다음 IIS를 다시 시작한 다음 앱 폴링을 시작하십시오.
새로운 Classic ASP 웹 사이트를 설정하는 동안 Windows Server 2019에서 이러한 503개의 오류가 발생했습니다.
실제로 앱 풀에서 ".NET CLR 버전"을 "관리되는 코드 없음"으로 설정하면 앱 풀이 시작된 지 2초 후에 중지되므로 윈도우즈 이벤트 로그에 WAS 5002 및 5021 오류가 생성됩니다.
해결책은 .NET을 사용하지 않더라도 "v4.0"을 넣는 것이었습니다.
파티에 늦었지만 저에게 효과가 있었던 해결책은 목록에 없습니다.
저의 해결책은 IIS 내에서 웹 사이트와 애플리케이션 풀을 삭제하고 다시 만드는 것이었습니다.
원래 사이트/폴더를 먼저 만든 다음 닷넷 코어 런타임을 설치했기 때문입니다.어떤 이유로 사이트를 시작하지 못했습니다.
이 사이트는 다시 만들어졌지만 다른 제안은 필요하지 않았습니다.
제 경우 웹 사이트에 "503 Service unavailable"이 표시되고 응용 프로그램 이벤트 로그에 "..."이 표시되었습니다.\aspnetcorev2.vmdk를 로드하지 못했습니다.데이터가 오류입니다."이 문제는 IIS 설정 "32비트 응용 프로그램 사용"이 True인 IIS 사이트에서만 발생했습니다.시스템이 이러한 사이트에 대한 앱 풀을 중지하고 있으며, 이로 인해 사이트를 검색하려고 할 때 "503 서비스를 사용할 수 없습니다" 메시지가 생성되었습니다.
이 응용 프로그램 이벤트 로그에 지정된 경로가 존재하지 않는 것으로 나타났습니다.두 개의 "마이크로소프트"를 복구하려고 합니다.시스템에 설치된 NET Core SDK 2.1.50x" 버전은 문제를 해결하지 못했으며 Microsoft에서 사용할 수 있는 것으로 보이는 최신 aspnetcore v2.dll만 설치하거나 이러한 SDK를 제거하지 못했습니다.
참고: Microsoft에서는 내 시스템에 설치되어 있던 원래 v2 ASP.NET Core 버전의 설치 관리자를 더 이상 사용할 수 없는 것 같습니다.
효과적인 기능:이 시스템에 ASP.NET Core 사이트가 없기 때문에 제가 해결할 수 있는 방법은 시스템에서 모든 관련 DLL을 제거하고 주석을 달아 IIS 애플리케이션 host.config 파일에서 제거하는 것이었습니다(IS 7, 7.5, 8, 8.5 및 IIS 10?의 aspnetcore.dll이 로드에 실패하고 applicationhost.config 파일 경로 참조).만약 당신이 ASP.NET Core의 최신 버전을 사용한다면, 저는 당신이 applicationhost.config [나는 그것을 시도해본 적이 없다]의 참조를 업데이트하는 것과 같다고 생각합니다.
내 경우 서버에 없는 로컬에서 만든 오류 로그 폴더로 인해 이 응용 프로그램 풀이 자동으로 중지되었습니다.web.config 파일에서 추가한 키 경로가 서버에 있는지 여부를 확인합니다.
이 대답이 도움이 될까요?
이벤트 뷰어에서 다음 메시지를 수신하는 경우
모듈 DLL aspnetcore v2.dll을 로드하지 못했습니다.데이터가 오류입니다.
그러면 네, 이것이 당신의 문제를 해결할 것입니다.
이벤트 뷰어를 확인하려면
- Win+R을 누르고 다음을 입력합니다.
eventvwr
그런 다음 ENTER를 누릅니다. - 의 왼쪽에
Windows Event Viewer
을 클릭합니다.Windows Logs
->Application
. - 이제 소스에 대한 몇 가지 오류를 찾아야 합니다.
IIS-W3SVC-WP
가운데 창문에
if you receiving the previous message error then solution is :
Microsoft Visual C++ 2015 재배포 가능 86x 및 64X 설치(둘 다)
Windows 이벤트 뷰어 -> Windows 로그 -> 응용 프로그램에 오류 메시지가 표시된 경우 "The Module DLL C:\Windows\system32\inetsrv\rewrite.dll을 로드하지 못했습니다. 데이터가 오류입니다."설치 프로그램을 통해 다시 쓰기 모듈을 제거하여 문제를 해결했습니다.다시 쓰기 규칙을 사용하지 않아서 다시 쓰기 모듈을 제거했습니다.모듈을 다시 설치하는 것도 문제에 도움이 될 수 있습니다.
Windows 2008 R2를 실행하는 일부 레거시 서버에서 이 문제가 발생했습니다. 32비트 애플리케이션은 앱 풀을 손상시키고 앱 코드를 누르지 않고 503을 반환합니다.이 문제는 문제의 32비트 응용 프로그램이 .net 코어 앱이 아님에도 불구하고 64비트 버전의 모듈을 로드하려고 하는 .net 코어 모듈과 관련이 있는 것 같습니다.
요청을 처리하기 위해 어떤 모듈을 로드할지 결정하고 64비트 버전을 32비트 프로세스에 로드하려고 해도 IIS는 여전히 모듈을 로드하는 것으로 보입니다.
결국 서버에서 모든 버전의 .net core를 제거하고 최신 버전을 다시 설치해야 했습니다(현재 3.1.15 - 아직 5를 사용하지 않고 있습니다).그 후에 나의 32bit 앱과 .net 코어 앱이 같은 서버에 공존할 수 있었습니다.
이것은 제가 며칠 동안 머리를 부딪친 후에 이 문제를 해결하는 데 도움을 준 블로그 게시물입니다.누군가에게 도움이 되길 바랍니다.솔루션이 포함된 블로그 게시물
폴더 "C:\inetpub" 작업에 대한 모든 권한을 부여하십시오!
[이벤트 뷰어\]에 기록된 로그를 확인합니다.윈도우즈 로그\시스템] 노드.소스는 'WAS'입니다.
언급URL : https://stackoverflow.com/questions/19652709/http-error-503-the-service-is-unavailable-app-pool-stops-on-accessing-website
'programing' 카테고리의 다른 글
R에서 변수 이름을 지정할 때 선호하는 스타일은 무엇입니까? (0) | 2023.06.25 |
---|---|
WHERE 콜인(...) 조건에 대한 제한 (0) | 2023.06.25 |
각 행의 여러 인수를 사용하여 각 데이터 프레임 행에 적용 유사 함수 호출 (0) | 2023.06.25 |
Spring Boot에서 종속성을 선택적으로 업그레이드하는 방법? (샘플 케이스: Spring Data) (0) | 2023.06.20 |
Mongodb 존재하지 않는 경우에만 삽입하는 방법(존재하는 경우 업데이트 없음)? (0) | 2023.06.20 |