Discourse 설치 중 포트 80/443에 접근할 수 없음

업데이트: nmap와 nc를 확인한 결과 포트 80과 443이 닫혀 있습니다. 이것이 Discourse 설치에 문제가 되나요? 제 생각에는 포트는 열려 있지만 해당 포트에서 서비스를 청취하는 프로세스가 없다는 뜻인 것 같았습니다. Discourse 설치가 해당 포트에서 필요한 설정을 처리해 줄 것으로 기대했습니다. 이미 해당 포트의 트래픽을 허용하는 방화벽 규칙을 설정해 두었기 때문에, 어떻게 하면 포트를 열 수 있는지 모르겠습니다. Discourse 설치를 실행하기 위해 해당 포트에서 이미 서비스를 청취해야 하는 건가요 (그렇다면 어떻게 해야 하나요)?

< 원본 게시물 >

안녕하세요, 저는 Discourse를 처음 사용하는데요, discourse-setup을 실행하면 “Port 443 of computer does not appear to be accessible”(컴퓨터의 포트 443에 접근할 수 없는 것 같습니다)와 “Connection to port 80 also fails”(포트 80 연결도 실패했습니다)라는 오류 메시지가 나옵니다.

이 문제가 흔하다는 것을 알고 있으며 이 주제에 대한 많은 게시물을 읽었지만, 어떤 제안도 효과가 없었습니다. /var/discourse에 설치되어 있고, curl은 설치되어 있으며, DNS는 설정되어 있고, 방화벽은 차단하지 않고 있으며, Cloudflare도 사용하지 않습니다.

IPv6 VPS(IPv4 주소는 없지만 괜찮다는 것을 읽었습니다)에서 Ubuntu 22.04를 실행하고 있습니다. VPS에는 향후 사용을 위해 nginx가 하나 더 설치되어 있지만, 자동 시작을 비활성화하고 모든 Discourse 관련 외의 서비스를 종료한 후 서버를 재시작했습니다. 제 목표는 이 서버에서 Discourse만 단독으로 실행하는 것입니다.

VPS 자체와 제 가정용 컴퓨터 모두에서 전체 서브도메인(예: discourse.myvps.com)으로 VPS에 ping을 보낼 수 있고, 이메일 서비스 제공업체도 이메일 서비스용 DNS 설정을 확인해 주었습니다. 또한 ufw 규칙을 추가하여 IPv4 및 v6 트래픽 모두에 대해 포트 80과 443을 명시적으로 열었고, “ufw status” 명령으로 규칙이 올바르게 표시되는 것을 확인했습니다. 호스팅 업체에서는 아무것도 차단하지 않는다고 말했습니다. 그리고 Discourse Docker 컨테이너에 도달하기 위해 추가로 지정해야 할 것이 없다고 생각합니다.

그러나 netstat에는 해당 포트에 대한 정보가 표시되지 않고, NC는 “connection refused”(연결 거부)를 반환합니다. telnet도 "connection refused"를 반환하지만, 아직 HTTP 서비스를 실행하지 않아서 그런 것 같습니다 (Discourse 설치 프로그램이 이를 처리해 주는 것 아닌가요?).

도움이 되시면 감사하겠습니다!

P.S. 추가 정보, 스크린샷 등을 보내드릴 수 있습니다.

이미 해결하셨을 수도 있습니다. 그렇지 않다면, 이 가이드를 따라 Discourse를 설치하고 있는지 확인해 주시겠습니까: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub? 또한, 서버의 하드웨어와 소프트웨어가 여기에 명시된 요구 사항을 충족하는지 확인해 주세요: discourse/docs/INSTALL.md at main · discourse/discourse · GitHub.

저는 여러분의 질문에 가장 적합한 답변을 드릴 수 있는 사람은 아닙니다. 과거에 새로 설치한 Ubuntu 22.04 서버에서 가이드를 따라 설치했을 때, 추가 구성 없이도 잘 작동했습니다.

여전히 문제가 있다면, 커뮤니티의 누군가가 도움을 줄 수 있을 것입니다.

감사합니다. 네, 해당 가이드를 따르고 있으며, 제 서버는 필요한 것 이상의 성능을 갖추고 있고, 모든 사전 요구사항도 깔끔하게 설치되었습니다. discourse-setup을 실행하기 전까지는 모든 것이 순조롭게 진행되던 것 같았습니다.

어느 시점에는 서버를 완전히 초기화하고 처음부터 다시 시작할 수도 있겠지만, 그렇게 하고 싶지는 않습니다. 그리고 처음부터 새 서버로 이 설치 과정을 시작했기 때문에, 다시 같은 문제에 직면할 것 같습니다. (다른 점이라면 다른 용도로 일부 사전 요구사항을 설치한 것뿐인데, 그 부분은 현재 실행되지 않고 있습니다.)

잘하고 계신 것 같습니다. DNS가 서버 IP로만 해석되고 있는지 확인해 보셨나요?

아. discourse-setup이 IPv4만 확인하는지 한눈에 보기로는 판단하기 어렵네요.

테스트를 건너뛰려면 ./discourse-setup --skip-connection-test를 실행해 보실 수 있습니다.

Jay님, 감사합니다. 덕분에 진행할 수 있었고 다음 오류로 넘어갔습니다.

이것은 현재 제목과 관련이 없는 이상한 문제이기 때문에 별도의 스레드에 올릴 예정입니다. 문제는 discourse-setup에서 git clone이 실패하는 것이지만, v6 프록시가 설정되어 있고 같은 명령을 명령줄에 직접 입력하면 정상적으로 작동한다는 것입니다.