저희는 New ROOT Web Site! - ROOT 에서 Jekyll용 Discourse 임베딩을 사용하고 있으며, 잘 작동하고 있습니다! 다만, 브라우저가 Referer: 헤더를 차단하는 경우를 제외하면요. 이 경우 400 Bad Request 오류가 발생합니다. 직접 테스트해 보세요. Firefox의 사생활 보호 창(리퍼러를 차단하는 창)으로 전환하면 임베딩이 작동하지 않습니다. 리퍼러를 좀 더 엄격하게 처리하는 Safari에서도 마찬가지입니다.
Firefox 사생활 보호 창에서 New ROOT Web Site! - Blog - ROOT Forum 를 확인해 보니 HTTP 400 오류가 발생했습니다. 이후 요청을 편집하여 Referer: https://root.cern/blog/new-web-site/ 헤더를 추가했더니 400 오류가 200으로 바뀌어 정상적으로 작동했습니다.
저희는 “모든 출처 임베딩 허용(embed any origin)” 옵션을 활성화해 두었습니다. 그리고 정확히 하나의 임베딩 사이트에만 댓글 기능이 있습니다. 이 문제를 해결할 방법이 있을까요?
확인해 주셔서 감사합니다! 도메인 이름의 차이와 관련이 있을 수 있습니다. 브라우저가 같은 도메인에 대한 요청에는 referrer를 제공하지만, 다른 도메인에 대해서는 제공하지 않을 수 있다고 생각합니다. 흥미로운 점이지만, 이 문제를 해결하기 위해 우리가 할 수 있는 일이 아직 명확하지 않습니다. 포럼 도메인으로 root.cern을 사용할 수 없으며, 크로스 도메인 임베딩은 핵심적이고 매우 유용한 기능이었는데… 최근 프라이버시 강화로 인해 이러한 기능이 위험에 처한 것인지, 아니면 해결책을 생각하실 수 있을까요?
역시 시도해 볼 수 있는 방법은 root.cern/forum에서 root-forum.cern.ch로 리버스 프록시를 설정하는 것입니다. 이렇게 하면 임베딩이 같은 호스트에서 이루어지는 것처럼 처리되어 referrer를 유지할 수 있을지 모릅니다. 다시 연락드리겠습니다
경고 하나만 드릴게요, Tejas - AFAIK meta 태그가 없으면 Safari와 Firefox / Private 모드에서는 Referer 헤더가 완전히 억제됩니다. 제안하신 방법은 Chrome >= 85에서 작동할 수 있지만, meta 태그를 추가하는 것이 더 견고하고 일반적이며 대부분의 임베딩 환경에서 충분히 간단하다고 생각합니다.