본문으로 바로가기

어제 오늘 심한 삽질이 있었다. 


■ 사건 개요


어떤 시스템에서 대용량 파일 업로드가 되지 않는다는 것이었다. 

오류 코드도 이상했다 : 404 !  용량이 적은 파일을 올리면 정상인데, 30MB 이상을 올리면 필요한 파일이 사라진다는 건가? 


당연히 표준적인 체크포인트들 즉 IIS, ASP.NET 버전별 설정을 확인하고, 상용 업로드 컨트롤(DextUpload)의 설정을 확인했다. 

아무리 설정을 체크했는데도 알 수 없었다.

ASP.NET의 어플리케이션 풀 설정까지 샅샅히 뒤졌다. 알 수 없었다. 


■ 추리과정


다음날. 내가 뭘 놓치고 있는지 조용히 생각해봤다.

파일 용량 체크 포인트


IIS --> ASP.NET --> DextUpload 아마 이런 순으로 용량 체크를 할텐데, 이런 설정이 작동을 하지 않는다면 이보다 더 앞서서 어디선가 용량 체크를 한다는 것일텐데 그것이 무엇일까? 


ISAPI 필터?

그때 떠오른 것이 혹시 보안 필터 였다.

확인을 해보니 "웹 서버 정보를 클라이언트로 보내지 않기 위한 방법"으로 UrlScan이라는 툴을 설치했다는 것이다.


■ 처리과정


UrlScan에는 HTTP 요청에 대한 보안 필터링있고 그렇다면 업로드되는 용량에 대한 제한이 있을 것으로 생각했다. 

UrlScan의 설정 파일을 보니 역시 있었고, 그 부분을 주석처리했다. 용량 제한은 Web.config에서 일괄 설정하기로 했다.


■ UrlScan 유의사항


UrlScan 사용시의 유의사항이 있는데, 이에 대해서 이전에 정리한 문서가 있다.




댓글을 달아 주세요

티스토리 툴바