HRESULT: 0x80070005
IIS 오류 화면에 `HTTP Error 500.19 – Internal Server Error`와 `HRESULT: 0x80070005`가 함께 표시되면 구성 파일·가상 디렉터리·응용 프로그램 디렉터리의 읽기 권한을 확인합니다.
빠른 답변
- 우선 확인할 원인
- IIS 500.19 오류에서 HRESULT가 `0x80070005`이면 ApplicationHost.config, Web.config 또는 IIS 가상·응용 프로그램 디렉터리의 읽기 권한이 충분한지 확인해야 합니다.
- 먼저 확인할 항목
- IIS 오류 화면에서 `HTTP Error 500.19 – Internal Server Error`와 `HRESULT: 0x80070005`가 함께 표시되는지 확인합니다. 두 값이 함께 있으면 이 문서의 HRESULT 분기입니다.
- 적용 범위
- 현재 증상과 본문에 적은 관찰 조건이 함께 확인된 경우
- 출처 확인일
- 2026-07-30
- 최종 검토
- 2026-07-27
- 수정일
- 2026-07-27
- 정정 이력
- 2026-07-29 이후 기록 없음
- 관련 기술
현재 증상
- 서버 5xx 응답
먼저 확인할 항목
IIS 오류 화면에서 `HTTP Error 500.19 – Internal Server Error`와 `HRESULT: 0x80070005`가 함께 표시되는지 확인합니다. 두 값이 함께 있으면 이 문서의 HRESULT 분기입니다.
ApplicationHost.config 또는 Web.config가 있는 폴더와 IIS 가상·응용 프로그램 디렉터리의 현재 읽기 권한을 기록합니다. IIS_IUSRS 그룹이 해당 파일을 읽을 수 있는지 확인합니다.
권한을 변경했다면 한 파일 또는 디렉터리만 대상으로 적용하고, 같은 URL에서 500.19와 HRESULT가 사라졌는지 다시 확인합니다.
피해야 할 조치
주의
- 권한 변경은 사이트 파일의 노출 범위에 영향을 줄 수 있습니다. 변경 전 ACL을 기록하고, 승인된 IIS 운영자만 변경합니다.
- UNC 공유를 쓰는 환경은 임의로 인증 방식을 바꾸지 말고, 오류 화면·공유 경로·현재 응용 프로그램 풀 ID를 운영 담당자에게 전달합니다.
환경별 원인과 조치
증상
IIS 오류 화면에 다음 문자열이 표시됩니다.
HTTP Error 500.19 – Internal Server ErrorHRESULT: 0x80070005
확인
- 현재 IIS 오류 화면에서 두 문자열을 함께 확인합니다.
- ApplicationHost.config 또는 Web.config가 있는 폴더, IIS 가상 디렉터리 또는 응용 프로그램 디렉터리의 현재 읽기 권한을 기록합니다.
- IIS_IUSRS 그룹이 해당 구성 파일을 읽을 수 있는지 확인합니다.
Microsoft는 이 HRESULT가 ApplicationHost.config, Web.config 또는 IIS 가상·응용 프로그램 디렉터리에 대한 읽기 권한 부족과 관련될 수 있다고 설명합니다.
다음 조치
변경 권한이 있는 운영자만 현재 ACL을 보관한 뒤 한 파일 또는 디렉터리의 읽기 권한만 변경합니다. 같은 URL을 다시 요청해 500.19와 HRESULT가 사라졌는지 확인합니다.
주의
UNC 공유를 쓰는 환경은 인증 방식을 임의로 바꾸지 마세요. 오류 화면, 공유 경로, 현재 응용 프로그램 풀 ID를 IIS 운영 담당자에게 전달하세요.
관찰값 기록
문제가 발생한 URL 또는 화면, 표시 시각, 운영 환경과 최근 변경 사항을 먼저 기록합니다. 화면이나 로그에 오류 문구가 일부만 보이면 앞뒤 문장을 보존하고 비밀번호·토큰·쿠키·개인정보는 가립니다.
다음 항목을 실제 값과 함께 확인합니다.
- IIS 오류 화면에서
HTTP Error 500.19 – Internal Server Error와HRESULT: 0x80070005가 함께 표시되는지 확인합니다. 두 값이 함께 있으면 이 문서의 HRESULT 분기입니다. - ApplicationHost.config 또는 Web.config가 있는 폴더와 IIS 가상·응용 프로그램 디렉터리의 현재 읽기 권한을 기록합니다. IIS_IUSRS 그룹이 해당 파일을 읽을 수 있는지 확인합니다.
- 권한을 변경했다면 한 파일 또는 디렉터리만 대상으로 적용하고, 같은 URL에서 500.19와 HRESULT가 사라졌는지 다시 확인합니다.
판정 기준
오류 문구가 일치해도 같은 원인이 확정되는 것은 아닙니다. 웹서버·런타임·운영체제·플랫폼과 최근 변경 사항을 비교하고, 기대한 관찰값이 나오지 않으면 다음 단계로 넘어가지 않습니다. 이 문서는 출처가 확인한 범위만 설명하며, 범위를 벗어난 원인과 조치는 단정하지 않습니다.
안전한 다음 확인
설정·권한·데이터를 변경하기 전에 백업과 되돌리기 방법을 기록합니다. 운영 환경의 방화벽 전체 해제, 인증서 검증 우회, 데이터 삭제, 비밀값 공개를 기본 조치로 사용하지 않습니다. 확인 결과가 문서의 조건과 다르면 관련 Platform·Component 문서와 공식 출처를 먼저 확인합니다.
원인 분포
[Observation] 입력된 3건의 사례에서는 다음 원인이 관측됐습니다.
- Web.config 또는 해당 디렉터리에 IIS 실행 주체의 읽기 권한이 부족했습니다.
- 애플리케이션 풀 계정 또는
IIS_IUSRS에 필요한 권한이 부여되지 않았습니다. - 사이트가 사용자 문서 폴더처럼 IIS가 접근하기 어려운 위치에 있었습니다.
- ACL 상속이 비활성화된 사례가 있었습니다.
[Observation] 이는 관측된 사례 기준의 분류이며, 실제 발생 빈도를 의미하지 않습니다.
오진 함정
[Observation] 오류 코드만 보고 ASP.NET 애플리케이션의 코드 문제로 판단하면 안 됩니다. 입력된 사례에서는 IIS가 Web.config를 읽지 못하는 파일 시스템 권한 문제가 확인됐습니다.
[Observation] 사이트 위치가 사용자 문서 폴더인 경우에도 동일한 오류가 발생할 수 있으므로, 애플리케이션 풀 계정과 IIS_IUSRS의 접근 가능 여부를 함께 확인해야 합니다.
[Hypothesis] 권한 변경 후에도 문제가 지속된다면 대상 디렉터리의 ACL 상속 상태가 권한 적용을 방해하는지 추가로 확인하는 것이 합리적입니다.
환경 매트릭스
| 환경 또는 조건 | 관측된 증상 | 사례에서 확인된 수정 |
|---|---|---|
| ASP.NET MVC 앱, IIS | 0x80070005, 구성 파일 권한 부족 | 애플리케이션 풀 계정 또는 IIS_IUSRS에 읽기 권한 부여 |
| Windows 7, IIS 7.5, 새 ASP.NET 앱 | 500.19 0x80070005 | 애플리케이션 풀 실행 계정 확인 후 사이트 디렉터리 트리에 읽기 권한 부여 |
| 사용자 문서 폴더의 ASP.NET 사이트 | IIS가 Web.config를 읽지 못함 | IIS가 접근 가능한 위치로 사이트 이동 또는 IIS 계정 권한 조정 |
| ACL 상속이 꺼진 디렉터리 | Web.config 접근 실패 | ACL 상속 재활성화 또는 IIS_IUSRS 권한 부여 |
진단 순서
- [Observation] 오류가 500.19와
0x80070005인지 확인합니다. - [Observation] IIS가 읽어야 하는
Web.config가 있는 디렉터리의 파일 시스템 권한을 확인합니다. - [Observation] 애플리케이션 풀의 실행 계정을 확인합니다.
- [Observation] 해당 계정 또는
IIS_IUSRS에 사이트 디렉터리 트리의 읽기 권한이 있는지 확인합니다. - [Observation] 사이트가 사용자 문서 폴더 등 IIS 접근이 제한될 수 있는 위치에 있는지 확인합니다.
- [Observation] ACL 상속이 비활성화되어 있는지 확인하고, 사례에서 사용된 범위 내에서 상속을 다시 활성화하거나 필요한 권한을 부여합니다.
- [Observation] 권한 또는 사이트 위치를 수정한 뒤
Web.config를 IIS가 읽을 수 있는지 재확인합니다.
참고 자료
Microsoft · 공식 자료 · 확인 범위: IIS 오류 화면에는 `HTTP Error 500.19 – Internal Server Error`와 `HRESULT: 0x80070005`가 표시될 수 있습니다., 원문은 HRESULT 0x80070005가 표시될 때 구성 파일 또는 IIS 가상·응용 프로그램 디렉터리에 대한 읽기 권한 부족이 원인일 수 있다고 설명합니다., 원문은 IIS_IUSRS 그룹이 ApplicationHost.config 또는 Web.config를 읽을 수 있는지 확인하도록 안내합니다. · 확인일: 2026-07-27
확인 범위: IIS의 ASP.NET MVC 앱에서 0x80070005와 구성 파일 권한 부족 오류가 발생했다., 애플리케이션 풀 계정 또는 IIS_IUSRS에 Web.config가 있는 디렉터리의 읽기 권한을 부여해 정상화된 사례가 있다. · 확인일: 2026-07-30
확인 범위: Windows 7과 IIS 7.5의 ASP.NET 앱에서 Web.config 권한 부족으로 500.19 0x80070005가 발생했다., 애플리케이션 풀 실행 계정을 확인하고 사이트 디렉터리 트리에 읽기 권한을 부여하는 방법이 제시됐다. · 확인일: 2026-07-30
확인 범위: 사용자 문서 폴더에 있는 ASP.NET 사이트에서 IIS가 Web.config를 읽지 못해 0x80070005가 발생했다., IIS 계정을 활성화하고 IIS가 접근 가능한 위치로 사이트를 옮긴 뒤 정상화된 사례가 있다., Web.config의 ACL 상속을 다시 활성화하거나 IIS_IUSRS 권한을 부여해 해결한 사례가 있다. · 확인일: 2026-07-30