특정 경로에서 nginx를 프록시로 사용하여 discourse를 설치하는 방법?

안녕하세요. 저는 nginx를 SSL 터미네이터로 사용하고 proxy_pass 지시문을 설정하여 Linux 머신에 Discourse를 성공적으로 설치하고 실행했습니다.

문제는 제가 discourse.example.com으로만 설정할 수 있었고, example.com/discourse로 동작하도록 하려고 시도하고 있다는 점입니다. DISCOURSE_HOSTNAME을 변경하고 해당 값을 그대로 넣어서 시도해 보았지만, 결과는 CSS 포맷팅이 전혀 없는 표준 ‘페이지를 찾을 수 없음’ 사이트였습니다. 다른 앱에서는 ‘baseurl’ 지시문으로 흔히 명명되는 것을 찾아보기 위해 소스 코드와 문서를 grep으로 검색해 보았지만, 성과를 거두지 못했습니다.

이것이 가능한가요? 가능하다면, 이를 어떻게 설정하는지 설명하는 링크를 알려주시면 감사하겠습니다.

Serve Discourse from a subfolder (path prefix) instead of a subdomain 를 따라가세요

Subfolder support with Docker 또는 Discourse in a subfolder, multiple servers sharing a domain를 확인해 보셨나요?

알겠습니다, 여기서 핵심은 'subfolder’이군요. 그걸 저는 절대 추측할 수 없었을 텐데, 감사합니다!

참고로 이 문서는 제가 번들링된 nginx를 사용한다고 가정하고 작성되어 있지만, 제 설정을 그에 맞게 수정하면 될 것 같습니다(특히 rewrite 라인).

외부 nginx와 discourse 도커 컨테이너 내부에 있는 내부 nginx를 모두 사용하게 됩니다.

맞아요. 처음에는 포트를 노출하지 않으므로 내부 httpd를 사용하지 않는다고 생각했거든요. 하지만—바보 같은 저—여전히 무언가에 연결되어야 하는 소켓을 사용하니까요.

그래서 둘 다에 rewrite를 사용해야 하나요?