avaldez
(Alberto)
1
안녕하세요, 이미지 포함 게시물의 조리된 콘텐츠(cooked content)와 관련하여 문제가 발생하고 있습니다.
우리는 다음과 같은 형태의 사용자 지정 링크를 이미지로 사용하고 있습니다:
/api/v1/discourse/custom/link/hash_id/filename.png
게시물이 생성될 때는 문제가 없지만, Discourse가 해당 게시물의 HTML을 조리하는 과정에서 이 링크가 “깨진” 상태라고 감지하여, 그 내용을 다음과 같은 <span>으로 대체하고 있습니다:
<span class="broken-image" title="This image is broken">
<svg class="fa d-icon d-icon-unlink svg-icon" aria-hidden="true"><use xlink:href="#unlink"></use></svg>
</span>
파일 업로드에서는 이러한 현상이 발생하지 않아, 조리된 버전이 그대로 유지되도록 이 검증을 비활성화할 수 있는 방법이 있는지 궁금합니다.
block hotlinked media 설정을 활성화했나요?
avaldez
(Alberto)
3
저는 그렇게 설정하지 않았고, UI에서도 해당 설정을 찾을 수 없는데, 특별히 찾아봐야 할 곳이 있나요?
이 스레드를 보면 block_hotlinked_media 기능이 있는 것 같지만, 제 환경에서는 해당 기능이 활성화되어 있지 않습니다.
Discourse 버전을 정확히 공유해 주시겠어요?
가능성이 낮습니다 — 이미지 도메인이 핫링크된 이미지를 차단하고 있을 수도 있나요?
avaldez
(Alberto)
5
그렇군요. 현재 2.4.0.beta6라는 오래된 버전을 사용 중이라는 점은 알고 있습니다. 업그레이드 계획은 있지만, 당장은 하지 않을 예정입니다.
해당 이미지 태그는 다음과 같은 형태입니다:
<img src="/api/v1/discourse/custom/link/hash_id/filename.png" width="452" height="409">
avaldez
(Alberto)
6
이 문제를 해결하기 위해 이미지의 호스트명을 포함하여 전체 링크를 사용하도록 했습니다. 이렇게 하면 discourse가 리소스에 접근할 수 없더라도 cooked 버전의 img 요소가 손상되지 않습니다.
@Arkshine 도움 주셔서 감사합니다.