HTTP 오류 500.19 - IIS 웹 페이지를 열 때 내부 서버 오류

이 문서에서는 인터넷 정보 서비스(IIS) 7.0 이상 버전의 웹 애플리케이션에서 "HTTP 500.19" 오류 메시지가 나타나는 문제를 해결합니다.

원래 제품 버전: 인터넷 정보 서비스 7.0 이상 버전
원본 KB 번호: 942055

이 오류를 해결하려면 다음 섹션에서 해당 오류 코드 정보를 확인합니다.

HRESULT 코드 0x8007000d

오류 메시지:

애플리케이션 "애플리케이션 이름"의 서버 오류
HTTP 오류 500.19 - 내부 서버 오류
HRESULT: 0x8007000d
HRESULT 설명
요청된 페이지와 관련된 구성 데이터가 잘못되어 해당 페이지에 액세스할 수 없습니다.

원인

이 문제는 ApplicationHost.config 또는 Web.config 파일에 형식이 잘못되었거나 식별되지 않은 XML 요소가 포함되어 있기 때문에 발생합니다. IIS는 설치되지 않은 모듈의 XML 요소를 식별할 수 없습니다. 예를 들어 IIS URL 재작성 모듈입니다.

해결 방법

다음 방법 중 하나를 사용합니다.

  • ApplicationHost.config 또는 Web.config 파일에서 잘못된 XML 요소를 삭제합니다.
  • 확인되지 않은 XML 요소를 확인한 다음 관련 IIS 모듈을 설치합니다.

HRESULT 코드 0x80070021

오류 메시지:

애플리케이션 "애플리케이션 이름"의 서버 오류
HTTP 오류 500.19 - 내부 서버 오류
HRESULT: 0x80070021
HRESULT 설명
요청된 페이지와 관련된 구성 데이터가 잘못되어 해당 페이지에 액세스할 수 없습니다.

원인

IIS 구성 파일의 지정된 부분이 더 높은 구성 수준에서 잠겨 있는 경우 이 문제가 발생할 수 있습니다.

해결 방법

지정된 섹션의 잠금을 해제하거나 상위 레벨에서 이를 사용하지 않습니다. 구성 잠금에 대한 자세한 내용은 IIS 7.0 구성에서 잠금을 사용하는 방법을 참조하세요.

HRESULT 코드 0x80070005

오류 메시지:

애플리케이션 "애플리케이션 이름"의 서버 오류
HTTP 오류 500.19 - 내부 서버 오류
HRESULT: 0x80070005
HRESULT 설명
요청된 페이지와 관련된 구성 데이터가 잘못되어 해당 페이지에 액세스할 수 없습니다.

원인

이 문제는 다음과 같은 이유로 발생합니다.

  • Windows를 실행하는 컴퓨터에서 IIS를 사용하고 있습니다. 또한 UNC(범용 명명 규칙) 통과 인증을 사용하여 원격 UNC 공유에 액세스하도록 웹 사이트를 구성합니다.
  • IIS_IUSRS 그룹에는 ApplicationHost.config 파일, Web.config 파일 또는 IIS의 가상 또는 애플리케이션 디렉터리에 대한 적절한 권한이 없습니다.

해결 방법

다음 방법 중 하나를 사용합니다.

  • 원격 UNC 공유에 액세스하는 데 UNC 통과 인증을 사용하도록 웹 사이트를 구성하지 않습니다. 대신 적절한 원격 UNC 공유 액세스 권한이 있는 사용자 계정을 지정합니다.

  • ApplicationHost.config 또는 Web.config 파일에 대한 IIS_IUSRS 그룹에 읽기 권한을 부여합니다. 이렇게 하려면 다음 단계를 따르세요.

    1. Windows 탐색기에서 웹 사이트와 연결된 ApplicationHost.config 파일이 포함된 폴더를 찾거나 웹 사이트와 연결된 Web.config 파일이 포함된 가상 디렉터리 또는 애플리케이션 디렉터리를 찾습니다.

      참고

      Web.config 파일은 IIS의 가상 디렉터리나 애플리케이션 디렉터리에 없을 수 있습니다. 이 경우에도 다음 단계를 따라야 합니다.

    2. ApplicationHost.config 파일이 포함된 폴더나 Web.config 파일이 포함되어 있을 수 있는 가상 디렉터리 또는 응용 프로그램 디렉터리를 마우스 오른쪽 단추로 클릭합니다.

    3. 속성을 선택합니다.

    4. 보안 탭을 선택한 다음 편집을 선택합니다.

    5. 추가를 선택합니다.

    6. 선택할 개체 이름 입력 상자에 computername>\IIS_IUSRS 입력<하고 이름 확인을 선택한 다음 확인을 선택합니다.

      참고

      <Computername> 는 컴퓨터 이름의 자리 표시자입니다.

    7. 읽기 확인란을 선택한 다음 확인을 선택합니다.

    8. 폴더의 속성 대화 상자에서 확인을 선택합니다.

      참고

      폴더 속성이 ApplicationHost.config 및 Web.config 파일에 상속되어 IIS_IUSRS에 해당 파일에 대한 읽기 권한이 있는지 확인합니다.

HRESULT 코드 0x800700b7

오류 메시지:

애플리케이션 "애플리케이션 이름"의 서버 오류
HTTP 오류 500.19 - 내부 서버 오류
HRESULT: 0x800700b7
HRESULT 설명
요청된 페이지와 관련된 구성 데이터가 잘못되어 해당 페이지에 액세스할 수 없습니다.

원인

이 문제는 구성 계층의 상위 수준에 지정된 구성 섹션 설정에 대한 중복 항목이 있는 경우 발생할 수 있습니다(예: 상위 사이트 또는 폴더의 ApplicationHost.config 또는 Web.config 파일). 오류 메시지 자체는 중복 항목의 위치를 나타냅니다.

해결 방법

지정된 구성 파일을 검사하고 상위 ApplicationHost.config 또는 Web.config 파일과 비교하여 오류 메시지에서 제시한 대로 중복 항목이 있는지 확인합니다. 그런 다음 중복 항목을 제거하거나 고유하게 설정합니다. 예를 들어, ApplicationHost.config 파일에 다음 코드의 중복 항목이 있으면 이 문제가 발생할 수 있습니다.

<add accessType="Allow" users="*" />

이 문제를 해결하려면 권한 부여 규칙에 맞도록 ApplicationHost.config 파일에서 중복 항목을 삭제합니다. 이렇게 하려면 다음 단계를 따르세요.

  1. 시작을 선택하고 검색 시작 상자에 메모장을 입력하고 메모장을 마우스 오른쪽 버튼으로 클릭한 다음 관리자 권한으로 실행을 선택합니다.

    참고

    관리자 암호나 확인을 묻는 메시지가 표시되면 암호를 입력하거나 계속을 선택합니다.

  2. 파일 메뉴에서 열기를 선택하고 파일 이름 상자에 %windir%\System32\inetsrv\config\applicationHost.config를 입력한 다음 열기를 선택합니다.

  3. ApplicationHost.config 파일에서 다음 코드와 같은 중복 항목을 삭제합니다.

    <add accessType="Allow" users="*" />
    

HRESULT 코드 0x8007007e

오류 메시지:

애플리케이션 "애플리케이션 이름"의 서버 오류
HTTP 오류 500.19 - 내부 서버 오류
HRESULT: 0x8007007e
HRESULT 설명
요청된 페이지와 관련된 구성 데이터가 잘못되어 해당 페이지에 액세스할 수 없습니다.

원인

이 문제는 ApplicationHost.config 또는 Web.config 파일이 잘못되었거나 없는 모듈 또는 DLL을 참조하기 때문에 발생합니다.

해결 방법

ApplicationHost.config 또는 Web.config 파일에서 잘못된 모듈 참조 또는 DLL 참조를 찾은 다음 참조를 수정합니다. 잘못된 모듈 참조를 확인하려면 실패한 요청 추적을 사용하도록 설정하고 문제를 재현합니다.

HRESULT 코드 0x800700c1

오류 메시지:

애플리케이션 "애플리케이션 이름"의 서버 오류
HTTP 오류 500.19 - 내부 서버 오류
HRESULT: 0x800700c1
HRESULT 설명
요청된 페이지와 관련된 구성 데이터가 잘못되어 해당 페이지에 액세스할 수 없습니다.

원인

지정한 모듈의 비트 수가 응용 프로그램을 호스트하는 응용 프로그램 풀의 비트 수와 다르면 이 문제가 발생할 수 있습니다. 32비트 구성 요소를 64비트 애플리케이션 풀에 로드하는 경우를 예로 들 수 있습니다. 지정한 모듈이 손상된 경우에도 이 문제가 발생할 수 있습니다.

해결 방법

지정된 모듈의 비트 수가 호스팅 애플리케이션 풀의 비트 수와 동일한지 확인합니다. 또한 모듈이 손상되지 않았는지 확인합니다.

HRESULT 코드 0x8007010b

오류 메시지:

애플리케이션 "애플리케이션 이름"의 서버 오류
HTTP 오류 500.19 - 내부 서버 오류
HRESULT: 0x8007010b
HRESULT 설명
요청된 페이지와 관련된 구성 데이터가 잘못되어 해당 페이지에 액세스할 수 없습니다.

원인

지정한 콘텐츠 디렉터리에 액세스할 수 없는 경우 이 문제가 발생할 수 있습니다.

해결 방법

  • 파일 경로가 있는지 확인합니다.
  • 파일 경로의 이름이 올바른지 확인합니다.
  • 파일 경로에 올바른 파일 수준 권한이 설정되어 있는지 확인합니다.
  • 파일 경로가 유효한 파일 시스템 유형을 가리키는지 확인합니다.

파일 경로가 확실하지 않은 경우 프로세스 모니터 또는 실패한 요청 추적 도구를 사용하여 경로를 식별합니다.

HRESULT 코드 0x8007052e

오류 메시지:

애플리케이션 "애플리케이션 이름"의 서버 오류
HTTP 오류 500.19 - 내부 서버 오류
HRESULT: 0x8007052e
HRESULT 설명
요청된 페이지와 관련된 구성 데이터가 잘못되어 해당 페이지에 액세스할 수 없습니다.

원인

IIS의 기본 프로세스 ID에는 원격 공유에서 Web.config 파일을 열 수 있는 권한이 없습니다.

해결 방법

이 웹 애플리케이션의 애플리케이션 풀 ID 계정에 Web.config 파일을 열 수 있는 충분한 권한이 있는지 확인합니다.

HRESULT 코드 0x80070003

오류 메시지:

애플리케이션 "애플리케이션 이름"의 서버 오류
HTTP 오류 500.19 - 내부 서버 오류
HRESULT: 0x80070003
HRESULT 설명
구성 파일을 읽을 수 없습니다.

원인

이 오류는 권한이 없거나 실제 경로가 가상 디렉터리 경로와 일치하지 않기 때문에 발생합니다. 예를 들어 웹 앱의 실제 루트 경로 아래에는 Web.config가 없습니다.

해결 방법

  • Web.config 경로가 있고 올바른 권한이 설정되어 있는지 확인합니다.
  • 오류에 대한 자세한 정보를 얻으려면 프로세스 모니터 로그를 수집합니다.

Windows를 업데이트할 때 IIS 구성 파일 손상 문제 수정

일반적인 안전 규칙에 따라 업데이트를 설치하기 전에 모든 구성 파일(IIS에 국한되지 않음)을 백업해야 합니다. 가상 머신을 사용하는 경우 업데이트하기 전에 가상 머신의 스냅샷을 만듭니다. 이 조언은 Windows 업데이트에만 국한되지 않습니다.