여기서 평범하지 않은 일을 해야 한다는 점이 정말 싫습니다. 다른 누구보다도 싫지만, 제가 아는 방법치고는 이것뿐이고, 제가 사용하는 다른 셀프호스팅 앱들도 모두 이렇게 실행되고 있습니다.
와일드카드 A 레코드를 내 네트워크의 내부 IP로 지정해 두었고, nginx proxy manager를 통해 포트 80과 443을 외부로 노출하고 있으며, SSL 인증서도 모두 설정되어 있습니다. 기존 네트워크 환경의 대부분을 docker로 구축해 두었기 때문에, nginx proxy manager는 docker 네트워크를 통해 HTTP 프록싱만 수행하므로 안전하게 사용할 수 있습니다.
discourse의 경우, discourse.MYDOMAIN.com을 별도의 A 레코드 아래에 다른 로컬 IP 주소로 설정하고 이름을 해석되도록 하였습니다. 그러나 nginx proxy manager의 lets encrypt 설정은 내부 IP 환경에서 작동하는 반면, discourse의 설정 방식은 내부 IP에서는 작동하지 않습니다.
그래서… 저는 단순히 리버스 프록시만 하고 싶습니다. 이 문제를 해결하기 위해 다양한 nginx 프록시 구성을 시도해 볼 계획입니다. 중간자 공격(man-in-the-middle attack)에 대해 약간 우려는 되지만, nginx proxy manager의 lets encrypt 구성은 내부 환경에서 작동하는데 왜 discourse는 작동하지 않는지 파악하고 싶습니다.
반드시 방법이 있을 거예요!
(P.S. 제 정신이 좀 흔들린 상태인 걸 압니다. 구체적인 질문을 주시면 더 명확하게 설명해 드리겠습니다)