로그인 버튼 보안 미확보

어제 저는 Apache 리버스 프록시 뒤에 Discourse를 설치했습니다. Apache는 Let’s Encrypt 인증서 활성화와 프록시 설정을 할 수 있는 셀프 서비스 GUI를 통해 대부분 관리됩니다. 또한 이 GUI는 LE 인증서가 만료되지 않도록 관리해 줍니다. 이 점을 말씀드린 이유는, SSL/LE 템플릿 없이 Discourse를 설정했다는 가능성을 배제하기 위해서입니다. 내부적으로는 포트 10080을 사용하고 있으며, 지금까지는 잘 작동하고 있습니다.

그러나 Discourse 설정에서 https를 전역으로 활성화할 수 있는 옵션이 있다는 것을 발견했습니다. 그래서 이를 활성화했는데, 잘 작동하는 것 같지만 로그인 버튼은 여전히 http(https가 아닌)로 표시되고 있습니다. 실제로 Discourse는 잠금 해제된 아이콘으로 이를 표시하고 있습니다.

따라서 제 질문은: Discourse가 https를 사용하도록 하려면 무엇을 해야 합니까?
미리 감사드립니다.

아직 하지 않았다면, Discourse의 force https 사이트 설정을 활성화해 보세요. 해당 설정은 사이트 설정 페이지의 Security(보안) 섹션에서 찾을 수 있습니다.

답변 감사합니다.
해당 옵션은 이미 활성화되어 있습니다. 따라서 다른 문제가 있는 것으로 보입니다.

리버스 프록시 설정을 공유해 주시겠어요?

(그리고 답은 (다시…) X-Forwarded-Proto일 것 같습니다.)

네 :slight_smile:

RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port 80
ProxyPreserveHost Off
ProxyPassMatch "^/((?!(?:errors|\.well-known)/acme-challenge/).*)" "http://localhost:10080/$1" retry=30 timeout=7200
ProxyPassReverse "/" "http://localhost:10080/"

문제가 해결되었습니다. 정상적으로 작동합니다.
잠금 해제 아이콘이 표시된다고 해서 실제로 잠금이 해제된 것은 아닌 것 같습니다.