Docker의 Discourse - 백업 링크 404

안녕하세요,

문제:
백업을 생성한 후, 다운로드 링크를 이메일로 받았는데, 해당 링크를 클릭하면 404 페이지로 리디렉션됩니다.
몇 분 후 같은 링크를 사용하면 죄송합니다. 이 백업 다운로드 링크는 이미 사용되었거나 만료되었습니다.라는 메시지가 표시됩니다.

재현 단계

  1. Docker용 Discourse 설치
./discourse-setup
  1. Admin 패널의 Backups 탭으로 이동하여 백업을 생성합니다. (백업은 local storage에 저장됨)

  2. 새로 생성된 백업이 목록에 표시됩니다

  3. Download를 클릭하면 A link to download this backup has been emailed to you.라는 메시지가 표시됩니다.

  4. 다음과 같은 이메일을 받게 됩니다:

Here’s the site backup download (https://discourse.XXX.com/admin/backups/XXX-2023-03-15-145648-v20230308042434..tar.gz?token=<MyToken>) you requested.

  1. 링크를 클릭하면 404가 표시되는 빈 페이지가 나타납니다.
    링크를 마우스 오른쪽 버튼으로 클릭하여 저장하면 손상된 zip 파일이 다운로드됩니다.

Nginx 로그:
[15/Mar/2023:15:22:15 +0000] "discourse.XXX.com" <myIpAddress> "GET /admin/backups/XXX-2023-03-15-145648-v20230308042434..tar.gz?token=<myToken> HTTP/2.0" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" "backups/show" 404 822 "-" 0.820 0.821 "Isso" "-" "-" "-" "-" "-" "-"

error.log에는 아무것도 없습니다

질문
백업 경로 폴더는 무엇입니까?
이 문제를 어떻게 해결할 수 있습니까?

/var/discourse/shared/standalone/backups/default

이상하네요! 두 번째 점은 어디서 오는 건가요? 문제를 재현할 수 없고, 그런 동작을 본 적도 없습니다. 그래서 이에 대한 설명을 드릴 수 없어요. 혹시 이메일에서 링크가 조작되고 있는 건 아닌가요?

좋은 지적이네요!

customize → text 부분에서는 아무것도 변경하지 않았습니다.

제 기본 이메일은 다음과 같습니다:

요청하신 [사이트 백업 다운로드](%{backup_file_path}) 링크입니다.

보안상의 이유로 이 다운로드 링크는 검증된 이메일 주소로 전송되었습니다.

(이 다운로드를 *요청하지 않으셨다면*, 누군가가 여러분의 사이트에 관리자 권한으로 접근하고 있을 수 있으므로 심각한 우려를 가져야 합니다.)

어제 이 Git 저장소에서 Discourse를 설치했으며, 이 가이드를 따랐습니다.

내일 더 자세히 살펴보겠습니다.

적어도 이제 백업을 다운로드할 수 있습니다 :slight_smile:

친구의 인스턴스에서 이전에 이런 현상을 본 적이 있지만, 근본 원인은 끝내 파악하지 못했습니다. 약 한 달 정도 그렇게 되다가 컨테이너를 CLI로 다시 빌드한 후에는 그런 일이 없었습니다.

게르하르트 씨,

알려 드릴 일이 있어서 연락드립니다. 서브도메인을 업데이트해야 해서 클라우디아의 권고에 따라 컨테이너를 재구축했는데, 이메일의 이중 점(double dots) 문제가 해결되었습니다.