[해결됨] 2개의 별도 서버에서 발생하는 설치 문제

대략 이런 문제를 겪고 있습니다.

하드웨어 서버 2대를 보유하고 있습니다. 한 대는 unraid를 실행하고, 다른 한 대는 esxi VM을 실행하는 데 사용합니다.

unraid 서버에는 nginx reverse proxy manager를 실행하고 있습니다. esxi 머신에는 Ubuntu 18.04 VM이 설치되어 있습니다. 설치 과정을 진행하면 포트 80은 통과하지만 443은 통과하지 못한다고 알려줍니다. 이런 구성으로 사용하시는 분이 계신가요?

리버스 프록시에는 도메인을 SSL과 함께 포트 80으로 설정해 두었습니다. 이 두 가지를 함께 작동시켜서 discourse를 설치하고 실행하는 방법을 이해할 만큼 충분히 아는 것이 아니라서(이를 학습 기회로 삼고 있습니다) 어떻게 해야 할지 모르겠습니다.

감사합니다.

업데이트: 해결 방법을 찾았습니다. 올바른 방향으로 이끌어준 링크는 여기 있습니다.
https://www.digitalocean.com/community/tutorials/how-to-install-discourse-behind-nginx-on-ubuntu-14-04

참고로,

다음 단계에서는 프록시를 도커 컨테이너 내부의 유닉스 도메인 소켓과 통신하도록 변경하는 것을 고려해 볼 수 있습니다.

이 구성은 컨테이너 외부에서 내부로 심볼릭 링크를 생성하기만 하면 되므로, nginx 재시작 없이도 다운타임 없이 한 컨테이너에서 다른 컨테이너로 쉽게 전환할 수 있어 더욱 유연합니다.

예를 들어 (리눅스에서 동작하며, macOS에서는 동작하지 않음)

유닉스 소켓은 컨테이너 내부에서 다음과 같은 위치에 있을 수 있습니다:

/shared/mycool.discourse.sock

컨테이너 외부에서는:

ln -sf /var/discourse/shared/socket-only/mycool.discourse.sock  /tmp/mycool.discourse.sock

이렇게 하면 외부의 nginx 서버가 리버스 프록시로 다음 경로를 사용할 수 있습니다:

/tmp/mycool.discourse.sock

예를 들어, 플러그인을 추가해야 해서 재빌드가 필요한 경우를 생각해 봅시다.

/shared/socket-only2 (단순한 yml 변경)로 재빌드한 후, 새 컨테이너로 전환하려면 다음 명령만 실행하면 됩니다:

ln -sf /var/discourse/shared/socket-only2/mycool.discourse.sock  /tmp/mycool.discourse.sock

(또는 /var/run 또는 다른 원하는 위치에 배치해도 됩니다.)

이 방식은 매우 부드럽게 작동하며, TCP/IP 도메인 소켓을 재매핑하기 위해 nginx를 재시작할 필요 없이 몇 밀리초 만에 컨테이너 간을 오갈 수 있습니다.

저는 이 방식을 완전히 테스트해 보았고, 완벽하고 매끄럽게 작동하는 것을 확인했습니다.

Apache2에서도 (거의) 작동하지만, Apache2에서는 심볼릭 링크를 사용할 수 없으며 Apache2 사이트 설정에서 컨테이너까지의 전체 경로를 사용해야 합니다. 따라서 Apache2는 전환 시 재시작이 필요합니다. 하지만 당신은 nginx 사용자이므로, 컨테이너 외부에서는 이 작업이 쉽고 매끄럽게 진행될 것입니다.

멋지네요, 감사합니다. 오늘 밤 늦게 한번 확인해 볼게요.