인터넷 정보 서비스에서 ASP 요청을 사용하여 큰 파일을 업로드하면 403 오류가 발생할 수 있다

기술 자료 ID : 327659
마지막 검토 : 2006년 11월 6일 월요일
수정 : 4.1
중요 이 문서에서는 메타베이스 편집 방법을 설명합니다. 메타베이스를 편집하기 전에 문제가 발생하는 경우 복원할 수 있는 백업 복사본이 있는지 확인하십시오. 이를 수행하는 방법에 대한 자세한 내용은 Microsoft Management Console(MMC)의 "구성 백업/복원" 도움말 항목을 참조하십시오.

현상

ASP(Active Server Pages) 요청을 사용하여 Microsoft 인터넷 정보 서비스(IIS) 5.0, Microsoft 인터넷 정보 서비스(IIS) 5.1 또는 Microsoft 인터넷 정보 서비스(IIS) 6.0이 설치된 컴퓨터에 큰 파일을 업로드하면 업로드가 실패할 수 있습니다. 또한 403 오류 응답이나 다음 중 하나와 유사한 오류 메시지가 나타날 수 있습니다.

오류 메시지 1
Request object error 'ASP 0104 : 80004005' 허용되지 않는 작업 :
오류 메시지 2
007~ASP 0104~허용되지 않는 작업
많은 폼 데이터를 ASP 페이지에 게시할 때 다음과 유사한 오류 메시지가 나타날 수 있습니다.
오류 ’80020009’ 예외가 발생했습니다.
또한 Response.binaryWrite 메서드를 사용할 때 파일 업로드가 실패할 수 있습니다.

이전 버전의 IIS에서는 동일한 파일 업로드가 작동한 경우에도 이러한 현상 중 하나 이상이 발생합니다.

 

원인

이 문제는 Content-Length 헤더가 있고 Content-Length 헤더에서 IIS 메타베이스의 AspMaxRequestEntityAllowed 속성 값보다 큰 데이터 양을 지정하는 경우 발생합니다. AspMaxRequestEntityAllowed 속성의 기본값은 204,800바이트입니다.

참고 이 메타베이스 속성은 IIS의 2002년 10월 누적 업데이트에 처음 포함되었습니다. 이 메타베이스 속성은 IIS 6.0의 기본 설치에 포함되어 있습니다.

 

해결 방법

경고 메타베이스를 잘못 편집하면 메타베이스를 사용하는 모든 제품을 다시 설치해야 하는 심각한 문제가 발생할 수도 있습니다. Microsoft는 메타베이스를 잘못 편집함으로써 발생하는 문제에 대해 해결을 보증하지 않습니다. 메타베이스의 편집에 따른 모든 책임은 사용자에게 있습니다.

참고 편집하기 전에 항상 메타베이스를 백업하십시오.

이 문제를 해결하려면 AspMaxRequestEntityAllowed 속성의 값을 수정하여 ASP 요청의 엔터티 본문에 허용된 최대 바이트 수를 설정해야 합니다. 이렇게 하려면 다음과 같이 하십시오.
1. 명령 프롬프트에서 다음 명령을 입력한 다음 Enter 키를 누릅니다.
cd drive:\inetpub\adminscripts
참고 폴더를 변경하는 이 명령에서 drive는 IIS가 설치된 하드 디스크의 자리 표시자입니다.
2. 명령 프롬프트에서 다음 명령을 입력한 다음 Enter 키를 누릅니다.
cscript adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed size
참고 이 명령에서 size는 허용할 최대 파일 크기 업로드의 자리 표시자입니다. 최대값은 1,073,741,824바이트입니다. 이 값을 원하는 기능에 허용되는 최소값으로 설정하십시오.
3. 명령 프롬프트에서 다음 명령을 입력한 다음 Enter 키를 누릅니다.
iisreset

 

추가 정보

AspMaxRequestEntityAllowed 속성은 ASP 요청의 엔터티 본문에서 허용되는 최대 바이트 수를 지정합니다. Content-Length 헤더가 있고 Content-Length 헤더에서 AspMaxRequestEntityAllowed 속성 값보다 큰 데이터 양을 지정하는 경우 IIS에서 403 오류 응답을 반환합니다. AspMaxRequestEntityAllowed 속성은 PUT 요청과 POST 요청에만 적용되고, GET 요청에는 적용되지 않습니다. 이 메타베이스 속성이 ASP에만 적용되기 때문에 다른 ISAPI(인터넷 서버 API) 확장은 영향을 받지 않습니다.

AspMaxRequestEntityAllowed 속성은 MaxRequestEntityAllowed 속성의 기능과 관련되어 있습니다. 그러나 AspMaxRequestEntityAllowed 속성은 ASP 요청에만 적용됩니다. MaxRequestEntityAllowed 속성을 WWW 서비스(World Wide Web 게시 서비스) 수준에서 1MB로 설정할 수 있습니다. 그런 다음 특정 ASP 응용 프로그램에서 더 작은 양의 데이터를 처리하는 것을 알고 있는 경우 AspMaxRequestEntityAllowed 속성을 더 작은 값으로 설정할 수 있습니다.

 

참조

IIS의 2002년 10월 누적 업데이트를 구하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
327696 (http://support.microsoft.com/kb/327696/) MS02-062: 2002년 10월, Internet Information Services용 누적 패치
IIS의 2003년 5월 누적 업데이트를 구하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
811114 (http://support.microsoft.com/kb/811114/) MS03-018: 2003년 5월, 인터넷 정보 서비스(IIS)의 누적 패치




 


출처 : Micro Soft  http://support.microsoft.com/kb/327659/ko
반응형

+ Recent posts