이미지 업로드 시 "canned acl" 오류 발생

포럼의 게시물에 이미지를 업로드하려고 하면 업로드에 실패하고 오류 메시지가 표시됩니다.

Unsupported value for canned acl ‘public-read’

이것은 S3 오류처럼 보이지만, 파일 설정에서 "enable s3 uploads"가 비활성화되어 있습니다. 이미지를 S3에 업로드하고 싶지 않습니다. app.yml에서 DISCOURSE_USE_S3가 true로 설정되어 있지만, 이는 일일 S3 백업을 위한 것입니다.

구성 설정에서 잘못된 부분이 있는지 확인해 주실 수 있을까요? 감사합니다!

그렇지 않습니다. DISCOURSE_USE_S3는 업로드를 위한 것입니다.

값을 false로 설정하고 컨테이너를 다시 빌드해 보았지만, 에러나 업로드 실패가 해결되지 않았습니다. 다시 활성화해 두었는데, 한 번 더 시도해 보겠습니다.

DISCOURSE_USE_S3가 이제 false로 설정되어 있고 컨테이너도 재빌드되었지만, 여전히 원래의 오류 메시지가 표시됩니다.

이 메시지가 관리자 대시보드에 표시되는 것을 확인했습니다.

서버는 S3에 파일을 업로드하도록 구성되었지만, S3 CDN이 구성되지 않았습니다. 이로 인해 높은 S3 비용과 느린 사이트 성능이 발생할 수 있습니다. 자세한 내용은 "업로드를 위한 객체 저장소 사용"을 참고하세요.

하지만 저는 S3에 파일을 업로드하고 싶지 않습니다. 어떻게 비활성화할 수 있을까요? DISCOURSE_USE_S3와 “S3 업로드 활성화” 모두 비활성화되어 있습니다.

app.yml에서 해당 라인을 주석 처리하셨나요?

아니요, false로 설정해 두었습니다. 주석 처리를 해볼게요.

DISCOURSE_USE_S3와 모든 DISCOURSE_S3_* 설정을 주석 처리했고, 이제 이미지를 업로드할 수 있습니다. 하지만 이렇게 하면 S3로의 일일 백업이 깨질 것 같습니다. 아마 DISCOURSE_USE_S3만 주석 처리하고 24시간을 기다린 뒤, S3 없이 업로드와 S3를 통한 백업이 모두 정상적으로 작동하는지 확인해 볼 수 있을 것 같습니다.

업로드가 작동하려면 모든 DISCOURSE_S3_* 설정을 생략해야 하는 것 같습니다. Discourse에서 S3 백업과 비S3 업로드가 동시에 작동하도록 하는 방법이 있을까요?

참고로 관련 app.yml 변수는 다음과 같습니다. 현재는 모두 주석 처리되어 있습니다.

  # DISCOURSE_USE_S3: false
  # DISCOURSE_S3_REGION: "us-west-000"
  # DISCOURSE_S3_INSTALL_CORS_RULE: false
  # DISCOURSE_S3_CONFIGURE_TOMBSTONE_POLICY: false
  # DISCOURSE_S3_ENDPOINT: https://s3.us-west-000.backblazeb2.com
  # DISCOURSE_S3_ACCESS_KEY_ID: <censored>
  # DISCOURSE_S3_SECRET_ACCESS_KEY: <censored>
  # DISCOURSE_S3_BUCKET: community-backup
  # DISCOURSE_S3_BACKUP_BUCKET: community-backup
  # DISCOURSE_BACKUP_LOCATION: s3