IIS 6 서버의 기본 응용 프로그램 풀에서 정상적으로 실행되는 ASP.Net MVC3 응용 프로그램이 있습니다.사용자 지정 응용 프로그램 풀 ID로 디렉터리 목록이 거부되었습니다.
자체 서비스 계정으로 실행해야하므로 새 응용 프로그램 풀을 만들어 응용 프로그램을 해당 응용 프로그램으로 옮겼습니다. 기본 설정을 사용하면 응용 프로그램이 계속 잘 작동합니다.
응용 프로그램 풀에서 사용자 지정 ID를 설정하면 응용 프로그램에서 현재 "디렉터리 목록 거부"오류를 표시합니다.
네트워크 서비스로 다시 ID를 전환하려고 시도했는데 응용 프로그램이 다시 작동하기 시작했습니다.
응용 프로그램이 사용자 지정 ID로 실행되지 않도록 할 수있는 것은 무엇입니까? ASP.Net과 같은 것입니다.
aspnet_regiis -ga <domain\username>
을 실행하고 IIS_WPG 그룹에 계정을 추가 했으므로 ID 계정에 ASP.Net에 대한 액세스 권한이 있어야합니다.
정보
내가 프로세스 모니터 몇 가지 진단을 해왔하고 aspnet_isapi.dll을이 사용자 신원로드되지 않고 있음을 보여줍니다 더.
ID가 "네트워크 서비스"인 경우 aspnet_isapi.dll이로드되고 webengine4.dll이 이어지는 것을 볼 수 있습니다. 이는 NTLM 인증이 발생한 직후에 발생합니다.
사용자 지정 ID를 사용하면 NTLM 인증이 발생하고 w3wp 프로세스가 기본 파일 (Default.aspx, Default.htm 등)을 찾기 시작합니다.
나는 체크했다. 그리고 계정은이 DLL들이 저장된 프레임 워크 버전 폴더에 접근 할 수있다.
매핑 설정 (응용 프로그램/등록 정보/디렉토리/구성/매핑)에서 "파일 존재 확인"옵션을 사용하면 "디렉토리 목록 거부"오류가 발생하는 경우가 있습니다. 당신의 aspnet_isapi.dll이 선택된 곳을 찾아보고 마지막으로 "그 파일 존재 확인", ok ...)을 선택 해제하십시오. –
@GabeThorns - 고마워요. 이것은 올바른 방향으로 나를 인도했습니다. 내 대답을 보라. –
도와 주셔서 감사합니다. 문제가 해결되어 기쁩니다. –