카톡 링크 공유시 메타정보 미리보기 적용 안됨

먼저 cloudflare를 사용하고 있기 때문에 그런것 같은데 아래 링크에서 제시하는 방법은 모두 적용된 상태입니다.
https://devtalk.kakao.com/t/scrap-url/116202

  • 카카오 관련 ip WAF 모두 패스
  • 카카오에서 요청시 일부기능 모두 바이패스
  • 캐시 강제 전체 삭제후 30분뒤 테스트

카카오의 ua를 넣고 request를 대충 js나 python으로 작성해서 날려도 meta tag가 정상적으로 날라오는것도 확인하였습니다.

여기서 또 문제가 있는데,
공유 디버거 에서 디버그 를 돌리면 invalid URL이 계속 뜨는데 초기화 했다가 디버그를 한 3초 이상 대기했다가 하면 5번중에 1번은 성공합니다.

https://goldenhand.pro/arts/3UVigKo4uN ← 해당 링크는 아직 캐시 삭제를 안해본 예시이며, 새로 업로드되어 발행된 URL도 테스트해보았지만 똑같이 문제가 있었습니다.

cloudflare를 통해서 서비스하는 모든 사이트에 동일한 문제가 있습니다.
다른곳은 전부 다 잘되는데 딱 카카오만 문제가 발생하여, 이를 수동처리하였지만 카카오의 스크래퍼가 정상동작 하는 것 같진 않습니다.
헤더에 via proxy 등의 문구도 응답해주지 않는데 혹시 더 체크해야할 부분이 있을까요?

안녕하세요.

스크랩 서버가 제공해주신 URL에 접근 시, 서비스측에서 바이너리 응답을 받고 있습니다.
서비스측 응답을 확인 부탁드립니다.

테스트 코드

curl 'https://goldenhand.pro/arts/3UVigKo4uN' \
-H 'User-Agent: facebookexternalhit/1.1; kakaotalk-scrap/1.0; +https://devtalk.kakao.com/t/scrap/33984' \
-H 'Accpet: *.*' \
-H 'Accept-Language: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4' \
-H 'Cookie: WEBSITE_LANG=ko' \
-H 'Accept-Encoding: gzip' \
-H 'Via: 1.1 cec-proxy-pg001 (squid/5.5)' \
-H 'X-Forwarded-For: unknown' \
-H 'CEC-Proxy-PubIP: 121.53.83.3' \
-H 'Cache-Control: max-age=259200' \
-H 'Connection: keep-alive' \
-v --compressed

카카오가 서비스중인 티스토리 서비스도 동일 curl 명령을 사용하면,
티스토리 루트도메인을 제외한 유저들의 서브도메인 또한 binary로 출력됩니다.
하지만 티스토리의 서브도메인의 경우는 정상적으로 출력되는것으로 확인됩니다.

카카오측에서 별도의 예외 조치를 취하고 있는 것 같은데 이를 전반적으로 개선할 여지가 있지 않을까 하는 조심스러운 의견을 제시드립니다.

앞으로도 많은 사이트들이 매번 같은 문제를 겪는다면 힘든 상황이 될 것 같습니다.

@tmvlem9595
혼란을 드려 죄송합니다. 답변을 정정합니다. :sob:

최초 gzpi이 아닌 잘못된 압축 응답인것으로 답변드렸으나 서비스 측에서 정상적인 응답을 하였고 카카카오 스크랩 서버에서도 gzip을 정상처리 하였습니다.(샘플코드에서 --compressed 옵션을 제가 제외했었네요…)

서버에서 확인해보나 간헐적으로 서비스측에서 403응답을 받고 있습니다.
이 부분은 어떠한 경우에 해당 응답이 되는지 서비스측 로그를 확인 부탁드립니다.


아래와 같이 파라미터를 포함하여 채팅창에 입력하게되면 스크랩 서버는 파라미터를 포함하여 해당 주소로 새로 접근하게 됩니다. 확인하실 때, 아래와 같이 힌트용 파라미터를 입력하여 서비스측 로그는 확인하시면 쉽게 접근 가능하실것 같습니다.
image

@woody.ho 답변 감사합니다.
하지만 curl에서 403 을 반환하지 않음에도 여전히 카톡내 링크에서 보여지고 있지 않습니다.
403을 반환한다고 가정한다면, 클라우드플레어측에서 응답하는 것일텐데 이는 로그 확인이 어렵습니다.

심지어 curl이나 slack discord facebook 등에서는 문제가 없으나 오직 티스토리나 카카오에서 서비스중인 서비스들에서만 동일 문제가 발생하니 이는 cloudflare 를 통해 서비스하는 모든 유저들에게 영향이 있을텐데 여전히 개선의 여지가 필요로 할 것 같습니다.

또한 프록시로 사용하지 않더라도 근래에는 cloudflare의 worker나 pages등의 제품이 많아져서 설정을 못하는 유저들도 많이 계실 것 같아서 꼭 처리가 필요로 할 것 같습니다.

curl은 문의 하신분과 저의 개인 PC 에서의 테스트 접근입니다.

스크랩 서버에서는 간헐적으로 403응답을 받고 있기에 확인이 필요한데요
위의 첨부 이미지처럼 카카오톡에서 유니크한 파마리터를 추가하여 테스트 하시면 해당 주소로 접근하는 스크랩 서버측 요청을 특정 하실수 있을것 입니다.

이 때 응답이 어떻게 되었는지 확인가능하실까요?

image
5번중에 1번 성공하는 것 같습니다.

제가 제일 처음 언급드렸던 공유 디버거의 invalid URL과 비슷한 카운팅 양상을 보이는 것 같습니다.

서비스측 응답을 확인 가능하실까요?
위 이미지에서 k=2, 3, 4 의경우 오류 응답을 받아 미리보기 이미지가 노출되지 않은것으로 보이는데요 이때 서비스측에서 어떤 이유로 오류 응답이 되었는지 확인해봐야 할것 같습니다.

로그 추적이 가능한 서비스로 동일 문제를 갖고있는 서비스로 테스트를 진행하였습니다.
해당 서비스는 cloudflare pages functions로 동작하고 있기에 별도로 서버를 가지고 있지 않습니다.

image
image

첨부한 이미지를 같이 확인해주시면 미리보기가 생성 안되는 링크의 경우 아예 요청이 도달하고 있지 않습니다.

1개의 좋아요

@tmvlem9595 자세한 확인 감사합니다. :slight_smile:

카카오 스크랩 서버와 cloudflare간 문제가 있는지 좀 더 확인해보고 다시 답변드리겠습니다.
다만, 스크랩 서버가 여러 프록시 서버를 사용하는지라 이 부분의 확인은 조금 시간이 더 소요될수 있습니다. 미리 양해 부탁드립니다. 조속한 시일내에 확인 후 바로 답변 드리도록 하겠습니다.

넵넵 늦은시간까지 확인 답변해주셔서 감사합니다

@tmvlem9595
안녕하세요.

본건과 관련하여 확인해본 결과, cloudflare 측에서 카카오 스크랩 서버를 차단하고 있는 것으로 확인 되었습니다. 다만, 간헐적으로 정상 처리되는 것으로 보아 cloudflare 설정이나 해당 공급업체 자체에 원인이 있을것으로 보입니다. 번거로우시겠지만, cloudflare측에 문의해 보시는게 좋을것 같습니다.

저도 몇가지 확인을 해보았는데
Cloudflare Free에서는 카카오 링크 미리보기가 차단되지 않는듯 합니다.
다만 Pro 이상의 유료 플랜을 이용할 경우 카카오를 악의적인 불법 스크랩 봇으로 인식하는거 같은데

제가 그래서 처음부터 토픽을 연 이유가 이 이슈는 카카오 사에서 클라우드플레어사에 직접 요청을해야 조치가 되지 않는가 싶어서 입니다.
제 3자인 제가 백날 얘기해봐야 안 들어 주기 때문입니다.

안녕하세요.

관련하여 Cloudflare에 문의 해보도록 하겠습니다.
다만, 유료플랜을 이용하고 계시는 서비스측에서도 추가로 문의해보시는게 좋을것 같아요.

안녕하세요.

관련하여 Cloudflare 커뮤니티에 문의해 보았으며 Cloudflare 스크랩 봇 화이트 리스트에 등록 요청하였습니다.

추가 피드가 있으면 또 전달드리겠습니다.