비이미지 업로드 시 S3 CDN URL이 사용되지 않음

좋아요, 첨부 파일용 마크다운이 생성되는 위치를 찾았습니다. 제 이해로는 플러그인 API를 통해 이를 (쉽게) 오버라이드할 수 없으며(실제로 그렇게 하지 않는 것이 옳다고 생각합니다) 그렇게 생각됩니다.

따라서 해당 URL에 ?dl=1 매개변수를 추가하려는 제 초기 생각은 잘못된 접근인 것 같습니다.

해결된 짧은 URL에 대해 다운로드를 강제하지 않는 문제에 관해: S3 버킷의 공개 ACL에 대한 반대 논거를 올바르게 이해했다면, 다음 중 하나를 선택해야 합니다:

  1. CDN을 통해 S3에서 파일을 서빙한다 (@martin이 지적했듯이 첨부 파일의 경우 이 경우 다운로드 시 파일명을 올바르게 설정할 수 없으므로 실현 불가능합니다)
  2. S3 객체에 대해 사전 서명된 URL(presigned url)을 생성한다

하지만 현재 동작은 이 두 가지 중 어느 것도 수행하지 않고 S3 버킷에 공개 ACL이 설정되어 있다고 가정합니다. 이는 지원되는 S3 제공업체(아마존 포함)의 경우에도 마찬가지인 것 같습니다. 그렇다면 S3 스토어에 대한 짧은 URL을 해석할 때 Discourse.store.url_for의 force_download 옵션을 기본적으로 true로 설정하는 것이 왜 아닌가 질문하고 싶습니다.

1개의 좋아요