사용하고 있는 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 로 올려주면 다시 정상적으로 재생이 되는걸 볼수 있다.
'AWS' 카테고리의 다른 글
aws ec2 ssh 접속 오류 (0) | 2022.10.23 |
---|---|
AWS Cognito 소셜로그인 인증 구현 (golang) (2) | 2022.06.17 |
Bastion Host 로 EC2 우회 접속 스크립트 설정 (0) | 2022.04.20 |
CloudFront 사용시 주의할 점 (0) | 2022.04.15 |
각서버마다 VPC? or VPC에 서브넷을 더 나누기? (0) | 2022.01.18 |