보안 미디어와 최적화된 이미지?

여러분께 인사드립니다:

새로운 관리자로서 Discourse를 아직 익히는 중입니다. 최근 2.6.0.beta4 설치 환경에서 “enable s3 uploads”(S3 업로드 활성화)와 “secure media”(보안 미디어) 기능을 활성화했습니다. 작동하는 것으로 보입니다. 이미지를 업로드하면 만료 토큰이 설정된 상태로 S3에서 서빙됩니다. (본래는 Discourse 서버의 URL에서 서빙되리라 기대했는데, 이는 이미지 외 업로드 파일에만 해당되는 것 같습니다.)

작동하는 것처럼 보이지만, 로컬 스토어를 사용하여 이미지를 업로드했을 때와 정확히 동일한 방식으로 작동하지는 않는 것 같습니다. 특히 “optimized”(최적화) 기능이 작동하지 않는 것으로 보입니다. 용어가 정확하지 않을 수 있으니 양해 부탁드립니다. 아직 배우는 중이거든요. 기본적으로 S3/보안 설정으로 이전하기 전에는 “lightbox” 기능이 사용되어 반응형 라이트박스 프레임에서 더 작은 이미지가 표시되고, 원본 이미지를 보고 싶으면 선택할 수 있었던 동작을 확인할 수 있었습니다.

이제는 아바타 이미지를 제외하고는 최적화 이미지가 생성되지 않는 것 같습니다. 새 게시물을 작성할 때 사용자가 이미지를 업로드하면 이미지가 /original/1x에 저장될 뿐, /optimized/1x에 해당하는 최적화 이미지가 생성되지 않습니다. 그래서 게시물을 볼 때 원본 이미지에 대한 단순한 임베드만 표시됩니다.

이렇게 설정된 경우 이 동작이 정상적인 것인가요? 이 문제를 직접적으로 다루는 게시물을 찾지 못했고, 다른 사람이 이에 대해 불만을 제기하는 것도 본 적이 없습니다. 관련 정보가 있으신 분의 답변을 기다리겠습니다.

제가 질문한 내용이 FAQ에 이미 포함되어 있는지, 아니면 제가 불분명하게 질문한 건지 궁금합니다. 제가 무엇을 이루고자 하는지 명확하지 않다면, 제 질문에 문제가 있는 부분을 찾아주실 수 있을까요?

질문은 명확하며, Meta에서 "secure media optimized images"를 검색해도 유용한 결과를 찾지 못하므로 FAQ에 해당하지 않습니다.

secure media 설정이 활성화된 상태에서 최적화된 이미지가 어떻게 처리되어야 하는지 의도가 무엇인지 확신이 서지 않습니다. 이 기능이 어떻게 동작해야 하는지에 대해 더 많은 지식을 가진 누군가의 답변을 기다려야 할 것 같습니다.

답장 주셔서 감사합니다, Simon. 이 문제를 더 깊이 디버깅하기 위해 어떤 단계를 밟을 수 있을지 궁금합니다. 아마도 새 인스턴스를 생성하고 처음부터 새로 설치한 뒤, 옵션들을 직접 조정해 보며 어떤 일이 일어나는지 확인해 봐야 할 것 같습니다. 현재로서는 S3 스토리지로 전환한 것이 문제를 일으킨 건지, 아니면 보안 미디어를 활성화한 것이 원인인지조차 확실하지 않습니다.

물론 소스 코드를 살펴보는 방법도 있지만, 저에게는 낯선 스택 전체를 다루어야 하는 일이므로 시간이 좀 더 걸릴 것 같습니다.

보안 미디어는 매우 복잡한 전문가 수준의 기능이라는 점에 유의하세요. 따라서 어려움이 따를 수 있습니다.

제프, 안녕하세요.

설정할 때 그 경고 메시지를 확인했습니다. 하지만 실제 구성은 꽤나 직관적이었고 순조롭게 진행되었습니다. 해당 문서에 언급되지 않은 더 복잡한 구성 사항이 있나요?

제 포럼은 이미 운영 중이며 이 한 가지 문제를 제외하고는 잘 돌아가고 있습니다. 게다가 이것이 보안 미디어가 활성화되었을 때 원래 그렇게 작동하는 것인지도 확실하지 않습니다.

말씀하신 그 복잡성을 파악하고 지식을 쌓고 싶다면, 올바른 방향으로 안내해 주실 수 있을까요? 저는 디스코스에 신규이며(그리고 솔직히 말해서 레일스 앱 전반에도) 경험이 없지만, 클라우드 기반 시스템을 개발하고 유지보수하는 데는 상당한 경험이 있습니다.

@martin은 이 분야의 내부 전문가입니다.

방금 테스트해 봤는데, 보안 미디어 설정 등을 모두 마친 상태에서 큰 이미지 업로드는 정상적으로 작동하며, 올바른 보안 설정이 적용된 최적화 이미지가 5개 생성됩니다. 이러한 이미지들이 어떻게 생성되는지 살펴본 결과, responsive_post_image_sizes 또는 create_thumbnails 사이트 설정이 변경되었는지 궁금합니다.

최적화가 필요한 너무 큰 이미지를 업로드할 때 라이트박스가 표시됩니까? 참고로 이미지가 너무 작으면 최적화 이미지가 생성되지 않습니다.

martin님, 안녕하세요.

responsive_post_image_sizes와 create_thumbnails 모두 기본값([1, 1.5, 2] 및 true)으로 설정되어 있습니다.

7680x4320 해상도의 이 이미지를 업로드했는데, 원본이 제 s3 /orginal/1x 폴더에 올바르게 저장되어 있고, 1024x576 해상도의 최적화 버전이 /optimized/1x에 저장되어 있는 것을 확인할 수 있었습니다. 이는 긍정적인 신호입니다. 이전에 /optimized/1x에 이미지가 생성되지 않는다고 말했던 제 주장은 사실이 아니었습니다.

하지만 PC나 모바일, Chrome이나 Firefox를 통해 게시물을 볼 때 /original/1x의 이미지가 게시물에 임베드되어 있는 것을 확인했습니다. 해당 이미지의 검사 결과는 다음과 같습니다:


(참고: 이 스크린샷에서 제 사이트 도메인은 삭제했으며, DISCOURSE_RELATIVE_URL_ROOT를 /forum으로 설정해 두었기 때문에 이미지 src URL에 /forum/가 포함된 것입니다.)

제가 보고 있는 상황은 이렇습니다. 추가로 디버깅해 볼 수 있는 다음 단계가 있을까요? 이 문제를 살펴봐 주셔서 정말 감사합니다 @martin. 진심으로 감사드립니다.