호스팅된 Discourse 사이트를 루트 또는 아펙스 도메인(예: example.com)에서 실행하도록 설정

:bookmark: 이 가이드는 호스팅된 Discourse 사이트를 루트 또는 에이프ек스 도메인(예: forum.example.com 대신 example.com)에서 실행하도록 구성하는 방법을 설명합니다. 사이트 도메인 이름 변경의 일반적인 과정은 호스팅된 Discourse의 도메인 이름 구성 가이드에서 다루고 있습니다.

:person_raising_hand: 필요한 사용자 권한: 관리자

대부분의 호스팅된 Discourse 사이트는 forum.example.com, talk.example.com, 또는 www.example.com과 같은 서브도메인으로 실행됩니다. 이는 권장되는 설정이며, 거의 모든 경우 문제 없이 작동합니다.

사이트를 루트 또는 에이프ек스 도메인(예: example.com)에서 실행하는 것은 가능하지만, 루트 도메인의 DNS 작동 방식 때문에 호스팅 환경에서는 더 복잡합니다. 이 옵션은 Pro, Business, Enterprise 플랜에서 사용할 수 있습니다. Free 플랜에서는 사용자 지정 도메인을 사용할 수 없으며, 사이트는 discourse.group 주소로 유지됩니다.

사이트를 루트 또는 에이프ек스 도메인으로 실행하려면 다음 두 가지가 필요합니다:

  1. DNS 제공업체가 아래에 나열된 레코드 유형 중 하나를 지원해야 합니다(루트에서는 일반 CNAME 레코드만으로는 부족합니다).
  2. 최종 구성은 Discourse 팀이 완료해야 합니다. 관리자 대시보드의 도메인 이름 변경 버튼은 CNAME 레코드를 확인하므로 에이프ек스 또는 루트 도메인을 처리할 수 없기 때문입니다.

DNS 제공업체 구성

  1. DNS 제공업체가 루트 도메인에 대한 레코드 유형을 지원하는지 확인하세요. 아래에 나열되지 않은 제공업체인 경우, 먼저 해당 제공업체 중 하나로 전환해야 합니다.
  2. 제공업체에 대한 설명에 따라 테이블의 링크를 참조하여 레코드를 생성하세요.
  3. DNS 레코드가 설정된 후, 루트 도메인 이름 변경을 완료하려면 team@discourse.org로 Discourse 팀에 문의하세요.

루트 또는 에이프ек스 도메인을 지원하는 DNS 제공업체

제공업체 유형
AWS Route53 (AWS 전용[1]) A & AAAA ALIAS 레코드; 예시 보기 →
Cloudflare CNAME flattening. 사이트와 충돌하지 않도록 Cloudflare 프록시를 끄세요(구름 아이콘이 회색이어야 함)
DNSimple ALIAS
DNS Made Easy ANAME
DreamHost ALIAS
easyDNS ANAME
Gandi ALIAS
Hurricane Electric ALIAS
Name.com ANAME
Namecheap ALIAS
PointDNS ALIAS
Webcentral (구 Netregistry) Cloaked redirection (IPv4 전용)

:exclamation: DNS 제공업체가 위에 나열되지 않은 경우, 계속하기 전에 루트 또는 에이프ек스 레코드 유형을 지원하는 제공업체로 전환하세요. 일반 CNAME 레코드는 루트 도메인에서는 작동하지 않습니다.

:information_source: 여기에 나열되지 않은 DNS 제공업체를 테스트하여 사이트에 작동하는 경우, 목록을 업데이트할 수 있도록 제공업체 이름과 설정 방법을 설명하는 링크와 함께 이 주제에 답변해 주세요.


  1. 이 기능은 AWS에서 자체 호스팅하거나 AWS Enterprise Hosting을 사용하는 경우에만 작동합니다 ↩︎

36개의 좋아요

게시물이 새 주제로 분리되었습니다: Required DNS Settings

좀 시간이 걸렸지만, 결국 Azure에서 DNS를 호스팅하는 환경에서 내 APEX 도메인을 작동시키는 방법을 찾았습니다.

Azure를 사용하려면 Azure Front Door를 활용해야 합니다. 이 안내문은 Azure Front Door Standard/Premium에 대한 것이며, Azure Front Door (classic)에는 해당하지 않습니다.

  1. Azure Front Door로 이동하여 + Create를 클릭합니다.
  2. Azure Front DoorCustom create를 선택한 후, Continue to create a Front Door를 클릭합니다.
  3. 구독(Subscription), 리소스 그룹(Resource Group), 이름(Name) 및 티어(Tier)를 선택합니다(저에게는 Standard가 작동했습니다). 그런 다음 Next: Secrets를 클릭합니다.
  4. 자체 SSL 인증서를 사용하는 경우 여기에 추가합니다. 추가된 후(또는 Azure가 인증서를 생성하도록 하는 경우) Next: Endpoint를 클릭합니다.
  5. Add an endpoint를 클릭하고 이름을 선택한 다음 Add를 클릭합니다.
  6. 새로 생성된 “Routes” 섹션에서 Add a route를 클릭합니다. 이름을 지정합니다.
  7. "Origin group"에서 Add a new origin group를 클릭합니다. 이름을 지정합니다.
  8. + Add an origin를 클릭합니다. 이름을 지정합니다. "Origin type"에서 Custom을 선택합니다. "Host name"에 site.hosted-by-discourse.com 도메인을 입력합니다. "Origin host header"가 비어 있는지 확인합니다. Add를 클릭합니다.
  9. “Add an origin group” 대화 상자에서 Add를 클릭합니다.
  10. “Add a route” 대화 상자에서 Add를 클릭합니다.
  11. Review + create를 클릭합니다. Create를 클릭합니다.
  12. AFD가 배포되기를 기다립니다. 배포가 완료되면 Go to resource를 클릭합니다.
  13. 왼쪽 사이드 메뉴에서 Domains를 선택합니다. Add a domain을 클릭합니다.
  14. "DNS zone"에서 도메인이 속한 존을 선택합니다. “Custom domain” 아래에서 APEX 섹션에 있는 도메인을 선택합니다. Add를 클릭합니다.
  15. 목록에 도메인이 표시되면 오른쪽의 **…**을 클릭합니다. Associate를 선택합니다.
  16. 이전에 생성한 엔드포인트와 라우트를 선택합니다. Associate를 클릭합니다.

AFD Managed Certificate를 사용하는 경우

  1. 도메인의 "Validation state"가 Pending인 경우 해당 링크를 클릭합니다. "TTL Unit"에서 Minutes를 선택합니다(빠른 검증을 위해). 그런 다음 “DNS record status” 아래의 Add 버튼을 클릭합니다.
  2. 인내심을 가져야 합니다. 여기서 머리를 쥐어뜯으며 너무 많은 시간을 보냈지만, 기다려야 합니다. 결국 "Validation state"가 Approved로 변경되어야 합니다.
  3. TXT DNS 레코드를 재생성하고 업데이트해야 할 수 있습니다. Regenerate 버튼을 클릭하여 이를 수행할 수 있습니다. “DNS record status” 아래에 Update 버튼이 표시되면 클릭해야 합니다.
1개의 좋아요

이 내용을 참고하는 분들을 위해 안내드립니다: 이 설정은 DNS를 평탄화(flattening)하는 것이 아니라, Azure에서 로드 밸런서를 구성하여 오리지널 서버를 프록시하는 것입니다.

이 방식은 공식적으로 지원되지 않습니다. 부수적인 영향이 발생하기 때문입니다(모든 방문자의 IP가 실제 IP가 아닌 Azure IP로 나타남).

2개의 좋아요