안녕하세요,
Docker 기반 Discourse 환경을 운영 중이며, 다음 AWS 환경 변수가 구성되어 있습니다:
env:
AWS_REQUEST_CHECKSUM_CALCULATION: "WHEN_REQUIRED"
AWS_RESPONSE_CHECKSUM_VALIDATION: "WHEN_REQUIRED"
UI에서 S3로 업로드되도록 백업을 트리거하면, 멀티파트 업로드 단계에서 실패합니다.
이 문제는 /var/www/discourse/lib/backup_restore/s3_backup_store.rb의 다음 줄에서 발생하고 있습니다:
obj.upload_file(source_path, content_type: content_type)
로그에서 확인한 정확한 오류 메시지는 다음과 같습니다:
[2026-07-11 10:18:38 UTC] /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:186:in block (2 levels) in Aws::S3::MultipartFileUploader#upload_in_threads': undefined method downcase' for nil (NoMethodError)
k = "checksum_#{algorithm.downcase}".to_sym
upload_file에 checksum_algorithm을 명시적으로 전달하여 문제를 일시적으로 해결할 수 있었습니다. 다음과 같이요:
obj.upload_file(
source_path,
content_type: content_type,
checksum_algorithm: "CRC32"
)
이 변경 사항을 적용하면 업로드가 완벽하게 작동합니다. 그러나 이는 컨테이너 내부의 수동 변경 사항이므로, 다음 컨테이너 재빌드 시 사라집니다.
핵심 코드베이스에서 이 버그를 수정해 주실 수 있을까요?
감사합니다!