Patreon 로그인, HTTPS 강제, S3 CDN(세 가지) 문제

제이, 도움을 주셔서 감사합니다. 질문에 대한 답변은 다음과 같습니다.

이것은 폐쇄적인 Patreon 커뮤니티이기 때문에 많은 사용자를 기대하고 있지는 않습니다. 제 주요 목표는 사이트가 다운되지 않으면서도 서버 하나를 업데이트할 수 있는 것이었습니다. 실제로 이것이 가능하다는 것을 확인했기 때문에 현재 설정에 만족하고 있었습니다. 네, 5단계도 수행했으므로 상태(state)는 외부 Redis 드롭렛에 저장되고 있습니다.

잠시 동안 저를 막았던 또 다른 문제는 app.yml에 아래 매개변수도 추가해야 한다는 것이었습니다. 그렇지 않으면 실제 포트가 DISCOURSE_DB 매개변수에 설정되어 있음에도 불구하고 재빌드 시 기본 포트의 Postgres에 연결을 시도하려고 해서 계속 실패했습니다.

DISCOURSE_DB_BACKUP_PORT: 25060

처음 튜토리얼을 기반으로 모든 것이 작동하도록 설정한 후에야 업로드를 생각하게 되었습니다. 처음에는 S3를 설정하려고 했을 때 모든 것이 깨졌지만, 그 이유는 여기에서 여러분이 제공하는 DO Space CDN 설정이 작동하지 않기 때문이었습니다.

Digital Ocean CDN은 Discourse와 함께 작동하지 않는다고 명시적으로 나와 있습니다.

알고 있습니다. 하지만 튜토리얼에서 이렇게 추가하라고 합니다:
DISCOURSE_S3_ENDPOINT: https://sfo3.digitaloceanspaces.com

이것은 DO Space에서 온 것이죠? 제가 이 튜토리얼에서 읽은 모든 것을 바탕으로 다른 CDN을 어떻게 사용해야 하는지 전혀 모르겠습니다. 하지만 곧 설명드릴 것처럼, 이 시점에서는 걱정하지 않습니다.

아니요, 다른 CDN을 사용하지 않았습니다. 실제로 CDN을 사용하지 않는 것이 괜찮습니다. CDN 설정을 비워둘 것입니다. 추가로, 지금까지 여러분이 친절하게 제공해 주신 조언을 바탕으로 지난주 백업으로 되돌리려 했다가, 먼저 force_https 옵션을 활성화해 보려고 했습니다. 그리고 예상대로 그것을 활성화하니 Patreon 로그인 문제가 해결되었습니다. 서버에서 변경된 것이 없었으므로 Patreon 로그인 문제는 아마도 Discourse 내부 로직으로 인해 발생한 것으로 보입니다. 다만, (지금에서야) 제가 권장하거나 지원되지 않는 것을 하고 있다는 점을 인식하고 있습니다.

따라서 이 시점에서 제 설정은 첫 번째 튜토리얼에서 권장하는 것과 거의 동일하지만, 이미지와 백업은 모두 CDN 없이 S3로 전송됩니다. 정말 잘 작동하고 있습니다. 스탠드얼론 설치만 사용하라고 권장하시는 점은 이해하지만, 업데이트가 나올 때마다 15분씩 사이트를 다운시키는 것은 정말 고통스럽습니다. 바로 어제 멀티서버 설정을 위한 data.yml과 web_only.yml에 대한 여러분의 언급을 찾았지만, 제가 무엇을 해야 하는지 이해할 수 없어서 그 부분은 포기했습니다.

지금은 현재 가지고 있는 설정대로 진행할 것입니다. 도움을 주셔서, 그리고 여러분이 하시는 모든 일에 감사드립니다.