문제 상황
관리하는 웹 서비스의 이벤트 정책이 변경되어 카카오톡 공유 메시지의 이미지를 변경해야 하는 작업이 있었고 테스트 서버에서의 정상 동작을 확인하여 상용 서버에도 동일한 코드를 적용시켰습니다.
다만 상용 서비스에서 카카오톡 공유 메시지의 '문구'는 변경 되었지만 '이미지'는 여전히 예전 이미지가 노출되는 상황이었습니다.
첫 번째 시도, 실패
이전에 사이드 프로젝트를 진행하면서 페이지의 open graph 이미지를 변경하고 테스트할 때 이용해본 공유 디버거가 생각나서 이를 통하여 이미지의 주소를 초기화 시키려고 하였습니다.
설명에도 '카카오톡 채팅방으로 공유된', '캐시를 초기화'라는 부분 때문에 이를 통하여 문제를 쉽게 해결할 수 있을 것이라 생각하였습니다. 하지만 이는 잘못된 접근이었습니다. 카카오톡 메세지에 포함된 이미지의 경우에는 OG 캐싱 방식을 이용하고 있지 않기 때문이었습니다.
그렇다면 어떻게 이미지를 최신화할 수 있을까?
https://devtalk.kakao.com/t/topic/121248/5
카카오톡 공유하기 이미지 변경 캐시 관련 문의
카카오톡에서 링크 공유가 아니라 카카오 링크를 이용한 메시지 공유 였군요. 해당 방식은 OG캐시를 사용하지 않습니다. (스크랩방식만 OG캐시 사용) 카카오 링크 공유 시, 대량 트래픽 처리를 위
devtalk.kakao.com
먼저 위 답변이 저의 문제에 대한 완벽한 해결책이었습니다. 카카오 링크를 이용한 메세지 공유에서는 OG캐시를 이용하지 않는다고 합니다. 스크랩 방식만 OG캐시를 사용하고, 위 공유 디버거를 이용하여 초기화가 가능한 것으로 보입니다.
카카오 링크 공유 시에 사용되는 이미지는 대량의 트래픽 처리를 위하여 미리 보기를 구성 후, 캐시된 이미지를 표시하며 무려 100일간 유효하다고 합니다(다시 말하여 테스트 서버에서 해당 이슈가 발현되지 않은 것은 우연의 일치로 캐싱 기간이 만료되었다고 볼 수도 있겠네요 😅).
이 경우에는 이미지의 경로나 이미지명을 변경하는 작업이 필요한 것으로 보입니다. 저희 프로젝트에서는 파일명 뒤에 버전 파라미터를 추가하는 것으로 해결할 수 있었습니다.