본문 바로가기

AWS

S3 영상이 재생이 안되고 다운로드가 된다?

사용하고 있는 S3 를 Cloud Front CDN 서비스를 제공하던 와중에
하나의 S3 버킷을 더 생성해 별도로 CDN 서비스를 제공하려고 했는데 문제가 발생했다.

기존에 CDN 서비스를 제공하던 건 영상의 URI 처럼 새로 생성한 건 웹에 재생이 되지않고 다운로드가 되었다.

기존 CDN            -> funny-video/1 -> 재생

새로생성한 CDN -> funny-video/1 -> 다운로드?

 

백엔드단에서 수정이 이루어진적은 없는데 왜 갑자기 다운로드가 되어질까

문제는 영상을 업로드 할때 헤더에 정한 Content-Type 에 있었다.

터미널에서 현재 사용하고 있는 CDN 서비스의 URL 정보를 보니

 

왠 binary/octect-stream 이 떡하니 있다 저건 뭥미?
아무튼 저 Content-Type 을 올라간 영상의 확장자에 맞는 걸로 고쳐줘야 했다.


예를들어 이미지를 올릴때는

Content-Type : image/jpeg 

Content-Type : image/gif

Content-Type : image/png 
동영상인 경우에는

Content-Type : video/mp4
처럼 해당 확장자에 맞게 Content-Type 을 강제해 올려야 한다. 

 

Ex)

 

백엔드에는 기존 Content-Type 을 따라가게 되어 있어서 따로 설정을 해두진 않았지만

프론트단에서 처리하는 와중에 Octet-Stream 변환해 백엔드로 넘겨주고 있었던게 문제였다.

그럼 위의 궁금증에서 이 ㅈ같은 옥토퍼슨지 뭔지는 뭐냐?

MIME의 개별 타입 중 application에 속하는 타입, 8비트 단위의 binary data

특별히 표현할 수 있는 프로그램이 존재하지 않는 데이터의 경우 기본값으로 octet-stream을 사용한다.

 

백엔드에서 Cotent-Type 을 올리는 File 의 확장자에 맞게 강제해서 S3 로 올려주면 다시 정상적으로 재생이 되는걸 볼수 있다.