업데이트:
이것을 찾았습니다
Attachments are not being saved in S3하지만 서버를 마이그레이션할 때 이 파일들은 사용할 수 없으며, 404 오류가 발생합니다.
아래 # 새 발견 사항을 참고하세요. 도움이 될 수 있으니 원문(OP)은 그대로 두겠습니다.
원문 게시글
서버를 한 곳에서 다른 곳으로 마이그레이션하는 작업을 진행 중입니다.
S3와 CDN이 설정되어 있으며 대부분의 업로드가 정상적으로 작동하는 것 같습니다.
마이그레이션 과정에서 S3로 업로드되지 않는 특정 유형의 첨부 파일이 있음을 발견했습니다:
다음과 같이 시도해 보았습니다:
root@discourse-app: /var/www/discourse# rake uploads:analyze_missing_s3
List of posts with missing images:
Total missing uploads: 0, newest is
Total problem posts: 0 with 0 missing uploads
Other missing uploads count: 0
/var/discourse/shared/standalone/uploads 경로로 이동하면:
root@discourse:/var/discourse/shared/standalone/uploads$ ls -lhAR
total 4.0K
drwxr-xr-x 3 nosferatu www-data 4.0K Jan 8 2024 csv_exports
./csv_exports:
total 4.0K
drwxr-xr-x 2 nosferatu www-data 4.0K Aug 21 00:45 default
./csv_exports/default:
total 0
다음 파일만 찾을 수 있습니다:
root@discourse:/var/discourse/shared/standalone/uploads$ locate .funscript
/var/lib/docker/overlay2/3cc16f26278c625a5321f97cdc25e75e82c5a222ac7a9310e0a9ae24386777d8/diff/var/www/discourse/tmp/download_cache/031cb76f4769f63c6733bb3ef78ca520dbb11b89.funscript
/var/lib/docker/overlay2/3cc16f26278c625a5321f97cdc25e75e82c5a222ac7a9310e0a9ae24386777d8/diff/var/www/discourse/tmp/download_cache/0e7f3157d4b26e7600a04b19d8e49b4f97391f44.funscript
...
S3 스토리지를 확인해 보면 해당 이름의 파일은 없습니다.
이 파일들이 어디에 저장되어 있는지 전혀 알 수 없습니다.
새 발견 사항
위에서 언급했듯이, 링크가 그렇게 동작하는 이유를 찾았습니다.
하지만 이제 다음 단계로 서버를 재배포할 때:
- discourse 시작
- Admin > Backups > Restore에서 sql.gz 파일로 복원
첨부 파일을 다운로드하려고 하면 404 오류가 발생합니다.
