본문 바로가기
etc

Server에 SSL 적용시 text 전송은 되는데 image가 보여지지 않는 경우

by RyanGomdoriPooh 2016. 6. 16.

현재 개발하고 있는 어플리케이션에 SSL 적용을 검토하는 중이었습니다.


그래서 현재의 http 방식의 프로토콜이 아니고 보안을 알고리즘으로 더 강화한 https 방식의 프로토콜로 바꾸는 작업을 진행하기로 정했습니다.


그렇게 현재 http://interconnection.tistory.com/21 글에 적용한 대로 SSL적용을 마무리한 상태 입니다.


사용하는 부분은 일일히 EC2 instance에 개별 적용할 수도 있지만 나중에 생각했을때,


Server의 규모를 Scale Up-Down, Scale In-Out의 할 경우가 있다고 생각이 되어 개별 instance에 적용하는 것이 아니고,


한번 적용으로 모든 범위에 적용할 수있도록 ELB에 SSL을 적용해서 앞으로 연결될 instance의 모든 서버에 적용하기 위한 목표로 ELB에 SSL을 적용했습니다.


그런데 문제가 발생하였습니다.


문제는 text로 보여지는 부분은 문제없이 주고 받는 것을 확인하였습니다. 하지만 Image를 적용하는 것은 모든 부분에서 받아오는 것에 실패하는 것을 발견하였습니다.


문제에 대해서 파악하는 도중 text는 고유 정보 그대로 서버에 요청하여서 받는 형태라는 것을 알게 되었습니다. 그래서 별 문제가 없다는 것을 확인하였습니다.


하지만 Image는 서버에 요청을 하면 URL형식으로 프로토콜 부분까지 포함 해서 보내줍니다. 또 그것을 클라이언트에서 직접 요청해서 보여주는 형식으로 작동을 하게 됩니다.


여기서 문제의 포인트를 발견하게 되었습니다. 기존의 서비스에서는 " http://*.* " 의 형식을 사용하여 이미지를 불러오는 형식이었습니다.


하지만 서버에 SSL을 적용한 상태에서 기존에 부르던 http 형식으로 요청을 하니까 보여주지 못하는 경우가 생겼던 것입니다.


그래서 서버로 부터 해당 Image의 URL을 받은 상태에서 앞부분의 프로토콜을 https도 바꾸어서 요청을 하니까 이미지를 받아와서 정상적으로 작동하는 것을 확인하였습니다.



* 이번 문제점에 대한 솔루션을 찾는 도중에 알게 된 것은 안드로이드 소스에서 현재 이미지를 불러오는 모듈을 글라이드를 사용하고 있었습니다.

글라이드를 사용하므로 인해서 모듈을 Text부분과 다르게 사용하고 있다라는 것을 파악하지 못한 부분에서 문제점을 찾는데에 오래 되었다고 생각이 되고,


* 현재 스마트폰에서 보는 미디어를 불러오는 방식은 그 해당 미디어와 연결되어 있는 URL을 서버에 요청을 통해서 클라이언트는 건네받고 그 URL을 가지고 미디어를 요청하는 것을 알게되었습니다.

댓글0