FIX: 도메인 컨트롤러에서 기본 ASPNET 계정을 사용하면 ASP.NET이 작동하지 않는다

기술 자료 번역 기술 자료 번역
기술 자료: 315158 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR315158
모두 확대 | 모두 축소

현상

도메인 컨트롤러 또는 백업 도메인 컨트롤러에 Microsoft Visual Studio .NET이나 Microsoft .NET Framework를 설치한 후 ASP.NET 응용 프로그램을 실행하려고 하면 브라우저에 다음과 같은 오류 메시지가 표시됩니다.
서버 응용 프로그램을 사용할 수 없습니다.

이 웹 서버에서 액세스하려는 웹 응용 프로그램을 현재 사용할 수 없습니다.

웹 브라우저의 [새로 고침] 단추를 눌러 다시 요청하십시오.
또한 다음 이벤트가 시스템 응용 프로그램 이벤트 로그에 기록됩니다.
config 파일의 processModel 섹션에 입력한 사용자 이름 및 암호가 잘못되었으므로 aspnet_wp.exe를 시작할 수 없습니다.
aspnet_wp.exe를 시작할 수 없습니다.
오류의 HRESULT: 80004005
이 내용은 인터넷 정보 서비스(IIS) 버전 5.0 이상에 적용됩니다.

원인

기본적으로 ASP.NET에서는 보다 안전한 환경을 제공하기 위해 약한 계정(ASPNET란 이름을 갖는 로컬 시스템 계정)으로 작업자 프로세스(Aspnet_wp.exe)를 실행합니다. 도메인 컨트롤러 또는 백업 도메인 컨트롤러에서는 모든 사용자 계정이 도메인 계정이며 로컬 시스템 계정이 아닙니다. 그러므로 "localmachinename\ASPNET"라는 이름을 갖는 로컬 계정을 찾을 수 없기 때문에 Aspnet_wp.exe가 시작될 수 없습니다. 도메인 컨트롤러에서 올바른 사용자 계정을 제공하려면 Machine.config 파일의 <processModel> 섹션에 명시적으로 계정을 지정하거나 SYSTEM 계정을 사용해야 합니다.

참고 해당 페이지로 이동하기 전에 디버그를 시도하는 경우(시작 단추를 누름)에도 정확하게 동일한 문제를 경험할 수 있습니다.

해결 방법

이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.
  • 올바른 사용 권한을 갖는 약한 계정을 만들고 이 계정을 사용하도록 Machine.config의 <processModel> 섹션을 구성합니다.
  • Machine.config 파일의 <processModel> 섹션에서 userName 특성을 SYSTEM으로 설정합니다.
  • 관리자 계정을 사용하도록 Machine.config 파일의 <processModel> 섹션을 구성합니다.
참고 ASP.NET 응용 프로그램을 SYSTEM 또는 관리자 계정으로 실행하도록 구성하는 것은 심각한 보안 문제를 내포하게 됩니다. SYSTEM 또는 관리자 계정을 통한 해결 방법을 사용하면 Aspnet_wp.exe 프로세스에서 실행되는 코드가 도메인 컨트롤러 및 도메인 설정을 액세스하게 됩니다. Aspnet_wp.exe 프로세스에서 시작되는 실행 파일 또한 동일한 컨텍스트 내에서 실행되기 때문에 도메인 컨트롤러에 액세스할 수 있습니다.

따라서 첫 번째 해결 방법을 사용하는 것이 좋습니다. 첫 번째 해결 방법을 사용하려면 다음과 같이 하십시오.
  1. ASPUSER라는 이름의 컴퓨터에서 사용자 계정을 만들고 이 계정을 Users 그룹에 추가합니다.

    참고 이 계정의 암호를 변경하는 경우 .NET Framework에서 생성한 ASPNET 계정을 사용할 수도 있습니다. 이 단계의 뒷부분에서 <processModel> 섹션에 암호를 추가해야 하므로 이 계정의 암호를 알고 있어야 합니다.
  2. ASPUSER 또는 ASPNET 계정에 일괄 작업으로 로그온 사용자 권한을 부여합니다. 이 변경 사항이 로컬 보안 정책 설정에 나타나는지 확인합니다.

    참고?일괄 작업으로 로그온 사용자 권한을 이 계정에 부여하려면 다음 보안 정책에 각각 동일한 사용자 권한을 부여(제어판/관리 도구에서)해야 할 수도 있습니다.

    • 도메인 컨트롤러 보안 정책
    • 도메인 보안 정책
    • 로컬 보안 정책

    참고 이러한 변경 사항이 반영되려면 서버를 다시 부팅해야 할 수도 있습니다.
  3. ASPUSER 또는 ASPNET 계정이 Aspnet_wp.exe 프로세스를 시작하고 ASP.NET 페이지를 처리하는 데 필요한 모든 디렉터리와 파일에 액세스할 수 있는 사용 권한을 갖고 있는지 확인합니다. 이 계정에 부여해야 하는 사용 권한에 대한 자세한 내용은 Microsoft 기술 자료에서 다음 문서를 참조하십시오.
    317012 ASP.NET에서 프로세스 및 요청 ID
  4. Machine.config 파일을 엽니다. 파일 경로는 %Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG입니다.
  5. Machine.config 파일의 <processModel> 섹션에서 userNamepassword 특성을 1단계에서 작성한 계정 이름과 암호로 변경합니다. 예를 들면, 다음과 같습니다.
    userName="DomainName\ASPUSER" password="ASPUSERpassword"
  6. Machine.config 파일의 변경 사항을 저장합니다.

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열한 제품에서 이 버그를 확인했습니다. 이 버그는 NET Framework에 포함에 포함된 ASP.NET 1.1에서 해결되었습니다.

참조

ASP.NET 보안에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
306590 INFO: ASP.NET 보안 개요
자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
316989 ASP.NET과 SQL Server 간에 트러스트된 데이터 연결을 만들면 "'AccountName' 사용자가 로그인하지 못했습니다." 오류 메시지가 나타난다
329290 ASP.NET 유틸리티를 사용하여 자격 증명 및 세션 상태 연결 문자열을 암호화하는 방법
317012 ASP.NET에서 프로세스 및 요청 ID




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 315158 - 마지막 검토: 2008년 1월 30일 수요일 - 수정: 5.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Mobile Internet Toolkit 1.0
키워드:?
kbproductlink kbfix kbbug kbconfig kbhttpruntime kbreadme kbsecurity KB315158
더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 설명합니다. 따라서 이 문서는 "있는 그대로" 제공되며 업데이트되지 않습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com