기존 멀티사이트 설치에서 복원 실패

멀티사이트 환경의 백업에 영향을 미칠 수 있는 복원 프로세스에 변경 사항이 있었나요?

오늘 서버 간 사이트 이동을 시도했습니다. 기존 서버는 nginx가 앞에서 HTTPS 캡슐화를 처리하고 force_https가 활성화된 멀티사이트 설치 환경이었습니다.

새 서버는 Let’s Encrypt를 사용하는 표준 설치의 스탠드얼론 버전입니다.

백업 파일을 확인해보니 원래의 업로드 파일은 존재하지만, 새 서버의 파일시스템에 복원되지 않은 것으로 보입니다. 사이트 전체의 이미지 참조 경로가 기존 멀티사이트의 'secondsite’를 가리키고 있어, 경로가 /uploads/default/original이 아니라 /uploads/secondsite/original을 가리키고 있습니다.

확인 차 GUI와 명령줄을 모두 사용하여 복원을 시도했습니다. 더 깊이 파고들 계획이지만, 일단 #support에 게시해 보았습니다. 누군가 이것이 여전히 지원되는 시나리오인지 확인해 주신다면 #contribute:bug로 옮기겠습니다.

이전에는 작동했던 작업이지만, 적어도 1년, 어쩌면 그 이상은 수행해 보지 않았습니다.

그러면 파일은 존재하지만 잘못된 위치에 있는 건가요? 그리고 데이터베이스가 secondsite 대신 default를 가리키고 있는 건가요? 버그인 것 같지만, 디렉터리 이름을 바꾸면 해결될 수도 있겠네요. 아니면 백업에 업로드 파일이 아예 포함되지 않은 건가요?

그들은 백업 아카이브에 있지만, 파일시스템에는 절대 반영되지 않습니다.

정말 이상하네요! 버그인 것 같아요. 그리고 두 시스템 모두 S3 업로드가 설정되어 있지 않나요?

맞습니다. 나중에 더 테스트를 해볼게요.

예상치 못한 상황이네요. 백업 파일을 한번 볼 수 있을까요? 아니면 직접 디버깅을 원하신다면 discourse/lib/backup_restore/uploads_restorer.rb at main · discourse/discourse · GitHub 파일을 참고해 주세요.

@team이 이런 일까지 꼼꼼히 살펴봐 주는 건 정말 멋집니다. 지난주에 @tgxworld가 엣지 케이스 문제를 해결하는 데 도움을 주셨어요. :tada: