안녕하세요. 첫 번째 Discourse 포럼을 실행하려고 하는데 도움이 필요합니다.
app.yml의 설정은 모두 정상적으로 보입니다. 재부팅을 시도해 보았지만 Discourse에 접근할 수 없습니다. 문제 해결을 시작하는 방법에 대한 조언을 주시면 감사하겠습니다.
Lightsail에 대해서는 확신이 없지만, AWS의 경우 도메인이 IP에 제대로 연결되지 않을 때 90%는 보안 그룹의 문제입니다. VPS에 해당하는 AWS 보안 그룹에서 필요한 포트(80, 443, 587 등)를 열어보실 수 있을까요?
itsbhanusharma:
587
답변 주셔서 감사합니다. 해당 포트(443과 587은 닫혀 있었습니다)를 열었고 앱을 다시 구축했지만, 여전히 문제가 해결되지 않았습니다. DNS 쪽의 문제라고 의심되지만, 그 외 무엇을 변경해야 할지 확실하지 않습니다. 현재 becomeachiron.com 도메인은 설정되어 있지 않고, 서브도메인만 사용 중입니다. 이 때문에 서브도메인이 작동하지 않을 가능성이 높아 보이지만, Lightsail에서 이를 어떻게 호스팅해야 할지 확실하지 않습니다.
ariznaf
(fernando)
9월 26, 2019, 5:28오후
5
최근에 Discourse와 Amazon Lightsail로 이전했습니다(그래서 전문 지식이 거의 없습니다).
저는 정확히 같은 설정을 사용했고, Discourse를 설치하는 데 아무 문제가 없었습니다.
먼저 Amazon의 공식 Debian AMI를 설치했습니다.
그다음 호스트 이름을 제 도메인(discourse.becomeachiron.com )으로 설정했습니다.
그 후 Debian을 최신 버전으로 업그레이드했습니다.
sudo apt update
sudo apt upgrade
그리고 Discourse 설치 지침(git 설치 후 Discourse 설치)을 따랐습니다.
문제는 없었고, 정상적으로 작동했습니다.
HTTPS가 작동하도록 하기 위해 443 포트를 열고(Discourse에서 설정) 구성해야 했습니다.
말씀하신 문제는 DNS와 IP 해석과 관련이 있는 것 같습니다.
Lightsail에서는 머신에 IP 주소가 3개 있습니다.
같은 리전 내의 내부 네트워크 머신에서만 접근할 수 있는 정적 프라이빗 IP입니다.
인스턴스를 시작할 때 동적으로 할당되는 동적 퍼블릭 IP입니다. 머신을 중지할 때마다 이 IP가 해제되고, 다시 시작하면 다른 IP가 할당됩니다.
머신에 할당할 수 있는 정적 퍼블릭 IP입니다. 이 주소는 영구적이며(머신이 중지된 경우에도 시간당 소액의 요금이 부과되지만, 머신이 실행되지 않으면 시간당 과금됩니다).
머신에 정적 퍼블릭 IP 주소를 할당하셨나요?
할당하셨다면, 그 IP를 DNS에 구성해야 합니다.
아니면, 머신을 시작할 때마다 변경되는 퍼블릭 IP 주소를 사용해야 하며, 머신을 시작할 때마다 IP가 바뀌므로 변경해야 합니다(Amazon DNS와 호환되는 동적 IP 클라이언트를 머신에 설치하여 자동으로 처리할 수 있다고 추측합니다).
그 후 DNS 변경 사항이 전파될 때까지 잠시 기다려야 합니다.
pfaffman
(Jay Pfaffman)
9월 26, 2019, 5:34오후
6
도메인이 설정되지 않은 것으로 보입니다:
pfaffman@balloon:~$ dig +short discourse.becomeachiron.com @NS-1041.AWSDNS-02.ORG
명령어 실행 결과가 비어 있습니다. 이 링크 를 통해 전파 여부를 테스트할 수 있지만, 현재 시점에서 AWS 네임서버에는 해당 서브도메인에 대한 레코드가 없습니다.
ariznaf
(fernando)
9월 26, 2019, 5:37오후
7
그가 아마존 DNS를 사용하지 않는 것 같아서 기록이 없다고 합니다. 그는 구글 DNS로 작동한다고 말합니다.
따라서 그는 구글에서 설정을 해야 합니다.
discourse.becomeachiron.com 은 현재 99.79.192.57로 해석됩니다.
모두 답변해 주셔서 감사합니다. 이상적으로는 서브도메인이 아니라 도메인 자체에 Discourse를 호스팅하고 싶은데, 찾을 수 있는 모든 안내문은 서브도메인을 사용하라고 강조하고 있습니다. 이것이 필수적인가요?
저도 지금 이 모든 걸 열심히 코딩하고 있어요
ariznaf
(fernando)
9월 26, 2019, 5:41오후
10
www나 discourse 서브도메인 없이 일반 도메인만 사용할 수 있다는 이야기를 들었습니다.
하지만 기본 설정은 아니며, 그렇게 간단하지 않아 보입니다. 따라서 처음에는 여러분이 하신 것처럼 기본 방식을 시도해 보는 것이 더 나을 수 있습니다.
다시 강조하지만: Lightsail 인스턴스에 정적 IP 주소를 설정하셨나요?
기본값은 동적으로 설정됩니다.
설정하지 않았다면 정적 IP를 생성하세요.
Lightsail 패널로 이동하여 인스턴스를 선택한 후 “network” 탭을 여세요.
그 다음 "create static ip"를 선택하세요.
인스턴스에 새로운 영구 IP 주소가 할당됩니다.
그 후 Google DNS로 가서 해당 IP를 머신 이름으로 등록하세요.
현재 진행 상황은 다음과 같습니다:
Lightsail에서
정적 IP를 생성하고 인스턴스에 연결했습니다 (fernando, 감사합니다)
DNS 존을 생성했습니다
Google Domains에서
DNS 존의 네임서버로 네임서버를 업데이트했습니다
서브도메인을 생성하고 정적 IP를 가리키도록 설정했습니다
Discourse는 올바르게 설정되어 있으며, 공용 IP를 통해 접근할 수 있습니다. 제가 놓친 것이 없다면, 이제 전파가 완료될 때까지 기다리면 됩니다.
ariznaf
(fernando)
9월 26, 2019, 6:09오후
12
무언가 잘못되고 있습니다.
SOA 레지스터가 Google이 아닌 AWS DNS 서버를 가리키고 있는데, Google에서 DNS 레지스터를 변경한다고 말씀하고 있습니다.
becomeachiron.com
primary name server = ns-612.awsdns-12.net
responsible mail addr = awsdns-hostmaster.amazon.com
serial = 1
refresh = 7200 (2 hours)
retry = 900 (15 mins)
expire = 1209600 (14 days)
default TTL = 86400 (1 day)
becomeachiron.com nameserver = ns-1041.awsdns-02.org
becomeachiron.com nameserver = ns-1824.awsdns-36.co.uk
becomeachiron.com nameserver = ns-216.awsdns-27.com
becomeachiron.com nameserver = ns-612.awsdns-12.net
Amazon DNS에서 DNS 설정을 변경하시거나, Google DNS를 사용 중이라면 SOA 레지스터를 Google을 가리키도록 변경하십시오.
pfaffman
(Jay Pfaffman)
9월 26, 2019, 6:37오후
13
맞습니다! 제가 말한 내용이 바로 그겁니다. whois 기록을 포함시켰어야 했는데 그랬어야 했네요. 저보다 더 잘 설명해 주셨습니다.
그러니 whois 기록을 변경하시거나, AWS 네임서버를 업데이트하세요.
혼란스럽네요… Google Domains를 통해 도메인을 등록했는데, Lightsail이 네임서버를 생성했습니다.
ariznaf
(fernando)
9월 26, 2019, 7:20오후
16
도메인은 한 등록업체(registrar)에 등록하고, 다른 제공업체의 DNS를 사용할 수 있습니다.
도메인을 구매할 때 실제로 구매하는 것은 도메인 이름과 도메인 등록업체 서버에 있는 SOA 레코드뿐입니다.
DNS 서비스는 도메인 제공업체와 독립적입니다.
SOA 레코드는 DNS 서버가 어디에 위치해 있는지를 알려줍니다.
물론 구글 도메인(Google Domains)처럼 도메인 등록업체 중에는 도메인 가격에 DNS 서비스를 포함해 제공하는 곳도 많습니다.
하지만 질문자님은 아마존 라이트세일(Amazon Lightsail)에서 DNS 서비스를 구매했고, 이로 인해 구글의 SOA 레코드가 변경되었습니다.
저는 아마존에서 DNS 서비스를 구매하지 않았습니다. 외부 DNS 서비스를 사용하고 있습니다(제 소견에 따르면 아마존은 DNS 서비스에 대해 별도 비용을 청구합니다).
이 경우 질문자님은 자신의 제공업체(질문자님의 경우 구글)에서 직접 DNS 레코드를 업데이트해야 합니다.
이 경우에는 SOA 레코드를 구글 DNS의 기본 구성으로 변경해야 합니다.
또는 아마존의 DNS 서비스를 사용하여 레코드를 업데이트할 수도 있습니다. 이 경우 SOA 레코드를 그대로 두면 되고, 아마존의 도구를 사용해 DNS 레코드를 변경하면 됩니다.
아마존의 메일 서비스를 사용하고 있다면, SOA 레코드를 변경하여 아마존 서비스로 가리키도록 동의했을 가능성이 있습니다.
실제로 필요한 것은 lightsail VPS의 공용 IP 주소이며, 이후 DNS는 원하는 곳에서 관리하면 됩니다.
Amazon을 통해 DNS를 관리하려면 Route 53을 사용할 수 있으며, 이 경우 도메인 등록 기관(예: Google)의 도메인 설정에서 업데이트할 수 있는 네임서버가 제공됩니다.
또는 도메인의 DNS 관리 섹션에서 현재 zone 파일을 편집하고 A 레코드를 업데이트할 수도 있습니다.
위 내용을 보면 프라이머리 도메인에 호스팅을 원하시는 것 같은데, 설정을 도와드릴 수 있습니다. 일반적인 설치와 동일한 방식이며, 때로는 사람들이 포럼을 다른 도메인에 두기를 원하기 때문에 전혀 문제없습니다.
예: Twitter 커뮤니티 포럼
다시 한번 모두 감사합니다! 사업을 시작했습니다: http://discourse.becomeachiron.com/
아직 이 구성 요소들이 정확히 어떻게 함께 작동하는지 정리하고 있습니다 - 저는 평소 DNS 관련 업무를 다루지 않기 때문입니다. 이제 어떻게든 제 메인 도메인을 활성화해야 합니다
AWS Route 53을 사용하여 DNS를 관리하고 있는 것 같습니다.
주 도메인의 경우 다음 단계를 따르세요:
주 도메인(표기로는 @)에 Alias(A) 레코드를 생성하여 Lightsail IP를 가리키도록 설정합니다.
app.yml 파일을 편집하여 주 도메인을 사용하도록 변경합니다.
다시 빌드합니다.
discourse remap을 실행합니다.
이것이 수행해야 할 모든 작업입니다.
This guide explains how-to change the domain name of your Discourse site, and includes information about setting up DNS changes, editing configuration files, updating site settings, and correcting social logins and post content to reflect your new domain name.
This guide is for self-hosted Discourse instances that were installed using our installation guide on GitHub . If you are hosted by Discourse , please see Configure your domain name for hosted Discourse for specific …