500 errors in ASP.NET Core
오류 메시지·상태명
빠른 답변
- 이 오류는 무엇인가요?
- IIS에서 실행되는 ASP.NET Core 애플리케이션의 500 오류를 조사하기 위해 스테이징 또는 인터넷에 노출되지 않은 테스트 서버에서 Developer Exception Page를 표시하는 방법입니다.
- 가장 흔한 원인은 무엇인가요?
- ASP.NET Core에서 500 오류가 발생하면 인터넷에 노출되지 않은 스테이징 또는 테스트 서버의 web.config에 ASPNETCORE_ENVIRONMENT=Development를 설정해 Developer Exception Page를 표시하고, 조사 후 해당 환경 변수를 제거합니다.
- 무엇을 먼저 확인해야 하나요?
- Event Viewer의 Windows Logs > Application에서 실패한 애플리케이션과 연결된 오류를 찾고 Source 값이 IIS AspNetCore Module 또는 IIS Express AspNetCore Module인지 확인합니다.
현재 증상
- 서버 5xx 응답
먼저 확인할 항목
Event Viewer의 Windows Logs > Application에서 실패한 애플리케이션과 연결된 오류를 찾고 Source 값이 IIS AspNetCore Module 또는 IIS Express AspNetCore Module인지 확인합니다.
인터넷에 노출되지 않은 스테이징 또는 테스트 서버에서 ASPNETCORE_ENVIRONMENT=Development를 web.config에 추가한 뒤, 시작 코드가 UseEnvironment로 환경 설정을 재정의하지 않는 경우 Developer Exception Page가 표시되는지 확인합니다.
피해야 할 조치
주의
- ASPNETCORE_ENVIRONMENT=Development 설정은 인터넷에 노출되지 않은 스테이징 및 테스트 서버에서만 사용합니다.
- 조사 후 web.config에서 추가한 환경 변수를 제거합니다.
- 변경 전 현재 값과 대상 기록, 가능한 백업 또는 내보내기, 한 번에 한 항목만 변경, 장애·오류 발생 시 기록한 이전 값으로 복구합니다.
환경별 원인과 조치
증상
IIS에서 실행되는 ASP.NET Core 애플리케이션에 500 오류가 발생합니다.
확인 및 조사
-
Event Viewer를 열고 Windows Logs에서 Application을 선택합니다.
-
실패한 애플리케이션과 연결된 오류를 찾습니다. 원문은 오류의 Source 값으로
IIS AspNetCore Module또는IIS Express AspNetCore Module을 확인하도록 안내합니다. -
인터넷에 노출되지 않은 스테이징 또는 테스트 서버에서만
web.config의<aspNetCore>요소에 다음 환경 변수를 추가합니다.ASPNETCORE_ENVIRONMENT=Development -
애플리케이션 시작 코드가 호스트 빌더의
UseEnvironment메서드로 환경 설정을 재정의하지 않는 경우, 애플리케이션 실행 시 Developer Exception Page가 표시되는지 확인합니다. -
조사 후
web.config에서 추가한 환경 변수를 제거합니다.
주의사항
- 이 환경 변수 설정은 인터넷에 노출되지 않은 스테이징 및 테스트 서버에서만 사용합니다.
- 변경 전 현재
web.config값과 변경 대상을 기록합니다. - 가능한 경우 변경 전
web.config를 백업하거나 내보냅니다. - 한 번에 한 항목만 변경합니다.
- 장애 또는 오류가 발생하면 기록한 이전 값으로 복구합니다.
- 문제 해결 후
web.config에서 해당 환경 변수를 제거합니다.
참고 자료
확인 범위: Microsoft Learn 원문은 ASP.NET Core에서 500 오류가 발생할 때 Application Event Logs를 확인하는 절차를 제공합니다., 원문은 web.config에 ASPNETCORE_ENVIRONMENT 환경 변수를 추가하면, 애플리케이션 시작 코드에서 UseEnvironment로 환경 설정을 재정의하지 않는 경우 Developer Exception Page가 표시될 수 있다고 설명합니다., 원문은 이 환경 변수 설정을 인터넷에 노출되지 않은 스테이징 및 테스트 서버에서만 권장하며, 문제 해결 후 web.config에서 제거하라고 안내합니다. · 확인일: 2026-07-24