본문 바로가기
푸닥거리

IIS에서 apk 파일 다운로드 가능하도록 설정

by ┌(  ̄∇ ̄)┘™ 2020. 9. 14.
728x90

IIS 웹 서버에 안드로이드 앱 설치 파일(.apk)을 올려 두고 다운로드 링크를 걸었는데, 접속하면 파일이 내려받아지지 않고 HTTP 404.3 (Not Found) 오류가 뜨는 경우가 있습니다. 파일은 분명 서버에 있는데도 말이죠. 원인은 IIS의 MIME 형식 설정에 있습니다.

왜 404.3 오류가 나는가

IIS는 보안을 위해 MIME 형식(콘텐츠 유형)이 등록된 확장자만 클라이언트에 전송합니다. .html, .jpg, .zip 같은 흔한 형식은 기본 등록되어 있지만, .apk는 IIS 기본 목록에 없습니다. 그래서 등록되지 않은 확장자로 판단해 요청을 거부하고 404.3을 반환합니다. 해결책은 .apk의 MIME 형식을 IIS에 추가해 주는 것입니다.

방법 1 — IIS 관리자에서 MIME 형식 추가

  1. IIS 관리자를 엽니다. (전체 서버 또는 특정 사이트 수준에서 설정 가능)
  2. 대상 사이트를 선택하고 기능 목록에서 MIME 형식(MIME Types)을 더블클릭합니다.
  3. 오른쪽 작업(Actions) 패널에서 추가(Add)를 클릭합니다.
  4. 아래 값을 입력하고 확인합니다.
항목
파일 이름 확장명 .apk
MIME 형식 application/vnd.android.package-archive

설정 후 브라우저에서 다시 링크로 접속하면 APK 파일이 정상적으로 다운로드됩니다. (변경이 바로 반영되지 않으면 사이트를 재시작하거나 잠시 후 시도)

방법 2 — web.config에 직접 추가

사이트 루트의 web.config 파일에 다음을 추가해도 동일하게 동작합니다. 관리자 콘솔에 접근하기 어려운 호스팅 환경에서 유용합니다.


  
    
      
    
  
주의: 상위(서버) 수준에서 이미 .apk MIME이 등록돼 있으면 web.config에서 중복 추가 시 오류가 날 수 있습니다. 이때는 <remove><mimeMap>을 넣거나, 둘 중 한 곳에서만 설정하세요.

정리

  • .apk 다운로드 시 404.3이 나는 이유는 IIS에 해당 MIME 형식이 등록되지 않았기 때문
  • IIS 관리자의 MIME 형식에 확장자 .apk / 형식 application/vnd.android.package-archive를 추가
  • 또는 web.config<staticContent>mimeMap을 직접 등록
728x90

댓글