경고: 이 서버는 다음 주소에서 접근할 수 없는 것 같습니다

안녕하세요… 초보입니다. DigitalOcean의 Droplet에 Discourse를 설치해서 GoDaddy가 호스팅하는 서브도메인에 토론 포럼을 만들고자 합니다. 최근 해당 서브도메인에 SSL을 설치했습니다. 설치 과정에서 일부 파일이 설치되었는데, 아마도 Discourse 설치 프로세스에 의해 설치된 것 같습니다. "https://talk.mydomain.com"에 접속하면 관리자 이메일 주소가 표시되는 페이지가 뜨므로, 그 부분은 정상적으로 작동한다고 추정합니다. 이전에 무언가를 올바르게 처리했을 것입니다. :grinning:

하지만 ./discourse-setup를 실행하면 다음과 같은 오류 메시지가 표시됩니다:

Hostname for your Discourse? [discourse.example.com]: talk.subdomain.com

Checking your domain name . . .
WARNING:: This server does not appear to be accessible at talk.subdomain.com:443.

A connection to http://talk.subdomain.com (port 80) also fails.

This suggests that talk.subdomain.com resolves to the wrong IP address
or that traffic is not being routed to your server.

app.yml 파일을 편집하라는 언급도 있지만, 이메일 주소를 제외하면 서브도메인에 대한 참조가 없습니다.

제가 무엇을 잘못했는지 식별해 주시고 올바른 방향을 알려 주실 수 있나요? 미리 감사합니다…

제안된 대로, talk.subdomain.com이 사용자의 드롭릿(droplet)을 가리키지 않는 것이 거의 확실합니다. 다른 가능성은 80번 포트와 443번 포트를 비활성화하는 방화벽을 활성화하기 위해 추가적인 작업을 수행했다는 것입니다.

도메인의 DNS 항목이 올바르지 않습니다. subdomain.com 도메인을 구매한 곳에서 DNS를 편집해야 합니다.

제이님, 답변해 주셔서 감사합니다. DNS “A” 레코드는 GoDaddy에서 호스팅 중인 제 도메인을 가리키고 있습니다. 처음 언급했듯이 브라우저에 "https://talk.domain.com"을 입력하면 관리자 이메일이 표시되는 서브도메인 페이지에 접근할 수 있습니다. 해당 페이지는 Discourse 설치 과정에서 apparently 구축 및 설치된 것으로 보입니다.

이 “A” 레코드가 올바른가요, 아니면 DigitalOcean의 Discourse 서버를 가리켜야 하나요?

방화벽 설정은 전혀 변경하지 않았습니다. Droplet의 UFW 상태에서는 80번 포트와 443번 포트가 열려 있는 것으로 표시됩니다.

Digital Ocean 드롭렛을 가리키도록 설정해야 합니다.

Jeff님, 답변 주셔서 감사합니다. Jay에게 제가 보낸 답변을 확인해 주세요. 서브도메인의 DNS “A” 레코드를 말씀하시는 건가요? cPanel을 사용해 서브도메인을 생성했는데, 이 과정에서 도메인 IP를 가리키는 “A” 레코드가 생성되었습니다. 대신 “A” 레코드를 편집해서 Discourse 서버를 가리키도록 해야 하나요?

어떻게 더 설명해야 할지 모르겠습니다. talk.domain.com은 discourse를 설치하려는 Digital Ocean 드롭렛과 정확히 동일한 IP로 해석되어야 합니다. GoDaddy에 있는 것으로 가리키면 Digital Ocean 드롭렛이 아니라 GoDaddy에 있는 것으로 연결됩니다.

성공했습니다. 다시 한번 감사합니다.

discourse-setup가 출력해야 하는 텍스트가 무엇이라면, 읽었을 때 어떻게 해야 할지 알 수 있었을 것 같나요?

@sturdy2님, 아래처럼 어떨까요?


Discourse를 위한 호스트명은? [discourse.example.com]: asdf.com

도메인 이름을 확인하는 중 . . .
경고: 이 서버가 asdf.com:443에서 접근 가능한 것으로 보이지 않습니다.
경고: http://asdf.com (포트 80)에 대한 연결도 실패했습니다.

이는 asdf.com이 잘못된 IP 주소로 해석되거나,
트래픽이 서버로 라우팅되지 않고 있음을 의미합니다.

가장 먼저 해야 할 일은 asdf.com이 이 서버의 IP 주소로 해석되는지 확인하는 것입니다.
보통 도메인을 구매한 곳에서 이 작업을 수행합니다.

IP 주소가 올바르게 해석된다고 확신이 든다면, 방화벽 문제일 수 있습니다.
"YOUR CLOUD SERVICE 포트 열기"로 웹 검색을 해보시면 도움이 될 수 있습니다.

이 도구는 가장 표준적인 설치 환경에만 적합하도록 설계되었습니다. 위 문제를 해결할 수 없다면,
containers/app.yml 파일을 직접 수정한 다음 아래 명령을 입력해야 합니다.

./launcher rebuild app

아마도 위에서 말한 내용을 제이에게 알려야 할 것 같습니다:

forum.example.com에 대한 DNS 항목이 이 서버의 IP 주소를 가리키지 않습니다. example.com 도메인을 구매한 곳에서 DNS를 수정하여 forum.example.com이 이 서버의 IP 주소를 가리키도록 해야 합니다.

직접 그렇게 하셔도 되고, 제가 해도 됩니다!

제가 생각하기에 문제는 당신이 말하는 내용보다는 제가 어떻게 이해하느냐의 문제인 것 같습니다. discourse-setup의 문구가 매우 일반적이며, 대부분의 문서나 포럼 답변의 문구도 마찬가지입니다. 일반적인 네트워크 지식이 부족해서인지, 말이나 글의 많은 부분이 저에게는 모호하게 느껴집니다. 특히 "이 서버(this server)"라는 표현이 그렇습니다.

forum.example.com의 DNS 항목이 이 서버의 IP 주소를 가리키지 않습니다. DNS를 수정해야 하는데, 아마도 example.com 도메인을 구매한 곳에서 forum.example.com이 이 서버의 IP 주소를 가리키도록 설정해야 할 것입니다.

위 문장 어디에도 "이 서버"가 무엇인지 명시되어 있지 않습니다. 문장을 읽으면 이전에 언급된 제 도메인 서버를 가리키는 것으로 보입니다. 저는 ‘A’ 레코드를 다른 도메인으로 변경할 수 있다는 사실조차 몰랐습니다. 이제야 알게 되었습니다(감사합니다). 만약 "Discourse 서버"라고 명시해 주셨다면 명확했을 것입니다.

비슷한 문제로 "DNS 레코드를 수정하라"는 표현도 있습니다. 초보자였던 저는 2일 전까지 DNS 레코드를 수정할 수 있다는 사실은 물론, 어떤 레코드인지도 몰랐습니다. 제가 놓쳤을 수도 있지만, ‘A’ 레코드가 Discourse 서버를 가리켜야 한다는 내용이 어디에도 보이지 않았습니다. 저는 Discourse 설치 과정에서 필요한 설정이 자동으로 처리될 것이라고 생각했습니다. 대부분의 사람에게는 자명할지 모르지만, 저에게는 그렇지 않았습니다… 한숨.

이 글이 도움이 되길 바랍니다. 많은 것을 배웠고, 도움을 주신 데 대해 감사드립니다.

“이 서버”란 discourse-setup을 실행 중인 컴퓨터를 의미합니다.

음. 알겠습니다. 가능한 방법을 찾아보겠습니다. 감사합니다.