자체 호스팅된 Discourse 서버를 http에서 https로 변경

여러분 안녕하세요,

저는 EC2 인스턴스에서 자체 호스팅(self-hosted)으로 Discourse 서버를 운영 중입니다. 도메인 이름을 설정하기 위해 nginx를 통해 소켓을 프록시하도록 구성되어 있습니다.

현재 겪고 있는 문제는 이메일에서 http에서 https로 전환되지 않는 것입니다.

특히 계정 활성화 이메일의 경우:

A new account was created for you at %{site_name}

Click the following link to choose a password for your new account:
%{base_url}/u/password-reset/%{email_token}

base_url은 항상 사이트의 http 버전을 반환하고 https 버전을 반환하지 않아, 사용자가 활성화 이메일을 사용하려고 할 때 오류가 발생합니다.

base_url 설정이 site_settings 테이블에 있을 것 같아서 확인해 보니 다음과 같은 행이 있습니다:

id name data_type value created_at updated_at
18 vapid_base_url 1 http://***.***.com 2022-05-28 05:33:29.471814 2022-06-18 08:31:48.220973

하지만 value를 https://...로 변경해도 이메일 문제는 해결되지 않습니다.

base_url의 값이 어디에 있는지 모르겠습니다.


또한 containers/app.yml 파일의 DISCOURSE_HOSTNAME 속성 때문일 수도 있다고 생각했지만, 그렇지 않은 것 같습니다. 프로토콜이 없는 도메인에서 프로토콜이 있는 도메인으로 변경해 보았지만, ./launcher rebuild app 실행 후 전체 Discourse 서버가 다운되었습니다.


따라서 질문 드립니다. 이메일에서 http가 아닌 https URL을 사용하도록 설정하는 방법이 무엇인가요?

force_https 사이트 설정을 참조하세요.

아, 그게 다였네. @pfaffman 고마워! 상을 받을 자격이 있어!