커스텀 도메인 연결

Firebase Hosting을 사용하면 브랜드 중심의 고유한 도메인 이름을 선택할 수 있습니다. Firebase에서 생성된 도메인이 아닌 커스텀 도메인(예: example.com 또는 app.example.com)을 Firebase 호스팅 사이트에 사용할 수 있습니다.

Firebase Hosting은 각 도메인의 SSL 인증서를 프로비저닝하고 글로벌 CDN을 통해 콘텐츠를 제공합니다.

이 문서의 나머지 부분에 나와 있는 단계별 안내에 따라 커스텀 도메인을 연결할 수 있습니다.

Hosting용 도메인 설정

Firebase 프로젝트에서 Firebase Hosting 사이트를 사용하려면 프로젝트의 Firebase Hosting 페이지에서 '시작하기' 마법사를 완료했는지 확인하세요.

1단계: 커스텀 도메인 추가

  1. 프로젝트의 Hosting 페이지에서 커스텀 도메인 연결 마법사를 시작합니다.

    • Hosting 사이트가 하나만 있는 경우 커스텀 도메인 추가를 클릭합니다.
    • Hosting 사이트가 2개 이상 있는 경우 원하는 사이트의 를 클릭한 후 커스텀 도메인 추가를 클릭합니다.
  2. Hosting 사이트에 연결할 커스텀 도메인 이름을 입력합니다.

  3. (선택사항) 커스텀 도메인의 모든 요청을 지정된 두 번째 도메인으로 리디렉션하려면 체크박스를 선택합니다(example.comwww.example.com을 동일한 콘텐츠로 리디렉션).

  4. 계속을 클릭하여 DNS 레코드를 구성하고 커스텀 도메인 설정을 완료합니다.

2단계: 커스텀 도메인 설정

도메인 연결 설정 마법사에서 요청할 경우 최상위 도메인을 인증합니다.

이러한 단계를 통해 도메인이 Firebase 프로젝트에 아직 연결되어 있지 않고 지정된 도메인을 소유하고 있음을 확인합니다.

  1. 도메인 제공업체 사이트에서 DNS 관리 페이지를 찾습니다.

  2. 다음을 입력하여 새 레코드를 추가하고 저장합니다.

    • 유형: TXT 레코드를 추가합니다.

      Firebase Hosting을 사용하려면 도메인 소유권을 증명하고 Firebase가 사이트의 SSL 인증서를 할당하고 갱신할 수 있도록 DNS 설정에 이 TXT 레코드를 계속 유지해야 합니다.

      도메인 제공업체에 따라 이 용어를 '레코드 유형'으로 표시할 수도 있습니다.

    • 호스트: 최상위 도메인 키를 입력합니다.

      최상위 도메인 또는 루트 도메인의 소유권을 증명하면 모든 하위 도메인의 소유권이 증명됩니다.

      도메인 제공업체에 따라 이 용어를 '호스트 이름', '이름' 또는 '도메인'으로 표시할 수도 있습니다.

    • : 고유한 인증 값을 필드에 복사합니다.

      Firebase Hosting은 도메인 소유권을 증명하기 위해 이 값을 확인합니다.

      도메인 제공업체에 따라 이 용어를 '데이터'로 표시할 수도 있습니다.

  3. 업데이트된 TXT 레코드를 전파하는 데 최대 24시간이 걸릴 수 있습니다. 그런 다음 확인을 클릭합니다.

    취소를 클릭하면 도메인 연결 창이 안전하게 닫힙니다. 나중에 이 창을 다시 열 수 있습니다. 전파 시간에는 영향을 미치지 않지만 창을 열면 도메인 이름을 다시 입력하라는 메시지가 표시됩니다.

    전파 시간이 충분히 지난 후 Firebase Console의 도메인 연결 창에서 확인을 클릭하면 SSL 인증서 프로비저닝 프로세스를 시작할 수 있습니다.

    대부분의 경우 레코드 전파와 도메인 인증은 도메인 제공업체에 따라 몇 시간 내에 완료됩니다. TXT 레코드 추가와 전파 시간에 대한 자세한 내용은 도메인 제공업체 문서를 참조하세요.

    확인을 클릭했을 때 오류 메시지가 표시되는 경우 레코드가 전파되지 않았거나 값이 잘못되었을 수 있습니다.

Firebase Console의 커스텀 도메인 추가 마법사에서 빠른 설정 또는 고급 설정을 선택합니다.

빠른 설정은 현재 트래픽을 수신하지 않는 새 도메인 또는 다른 Hosting 사이트에서 전송을 시도 중인 도메인에 사용할 수 있습니다. 고급 설정은 다른 호스팅 업체에서 도메인 수신 요청이 있고 제로 다운타임 마이그레이션이 필요한 경우에 사용할 수 있습니다.

고급 설정 마법사는 트래픽 수신 전 Hosting이 도메인에서 트래픽을 제공하도록 SSL 인증서 및 소유권 주장을 설정하는 데 도움이 됩니다.

SSL 인증서 프로비저닝 대기

도메인 소유권이 인증되면 DNS A 레코드가 Firebase Hosting을 가리키도록 설정된 후 24시간 내에 도메인의 SSL 인증서가 프로비저닝되어 글로벌 CDN을 통해 배포됩니다.

FirebaseApp SSL 인증서에 도메인이 주체 대체 이름(SAN) 중 하나로 표시됩니다. 브라우저의 보안 도구를 사용하면 이 인증서를 볼 수 있습니다. 도메인이 프로비저닝되는 동안 도메인 이름이 포함되지 않는 잘못된 인증서가 표시될 수 있습니다. 이는 정상적인 절차 중 한 부분이며 도메인 인증서를 사용할 수 있게 되면 해결됩니다.

고급 설정 사용자의 웹사이트는 프로젝트의 Firebase Hosting 페이지에 있는 설정 상태연결됨으로 업데이트될 때까지 이전 호스팅 업체에서 호스팅됩니다.

커스텀 도메인 키

DNS 레코드를 추가하거나 수정할 때 서로 다른 도메인 제공업체의 DNS 관리 사이트 내 호스트 필드에는 서로 다른 입력 값을 입력해야 합니다. 아래에 자주 사용되는 제공업체의 일반적인 입력 값이 정리되어 있습니다. 자세한 안내는 도메인 제공업체의 문서를 참조하세요.

도메인 유형 커스텀 도메인 키
최상위 도메인

일반적인 입력 값은 다음과 같습니다.

  • @
  • 최상위 도메인 이름(예: example.com)
  • 호스트 필드 비우기
하위 도메인

일반적인 입력 값은 다음과 같습니다.

  • 전체 하위 도메인 이름(예: app.example.com)
  • 하위 도메인 부분만(예: .example.com을 제외한 app)
  • www.example.com의 하위 도메인에서 www

일반적인 도메인 제공업체

다음은 몇 가지 일반적인 도메인 제공업체 및 각 제공업체에 필요한 입력 유형입니다. 이 정보는 가능한 한 최신 상태로 유지되지만, 자세한 안내는 도메인 제공업체의 문서를 참조하세요.

커스텀 도메인의 설정 상태 설명

상태 설명
설정 필요

DNS 레코드를 사용하여 구성을 변경해야 할 수 있습니다.

  • 대부분의 경우 DNS A 레코드는 도메인 이름 제공업체에서 Firebase Hosting 서버로 전파되지 않습니다.
    문제 해결 팁: 24시간이 지났다면 레코드가 Firebase Hosting을 가리키도록 설정되었는지 확인하세요.

  • 드물지만 특히 고급 설정 과정을 사용하는 경우에 다음과 같은 이유로 SSL 챌린지가 실패할 수 있습니다.

    • SSL 인증서 챌린지가 실패하고 토큰(사이트에 제공한 DNS TXT 레코드 또는 업로드된 파일)이 현재 유효하지 않습니다.
      문제해결 팁: 도메인에 대한 View(뷰)를 클릭한 후 기존 도메인에 새 토큰을 제공하세요.
대기 중

커스텀 도메인을 올바르게 설정했지만 Firebase Hosting이 SSL 인증서를 프로비저닝하지 않았습니다.

경우에 따라 다음 문제 때문에 커스텀 도메인의 SSL 인증서 발급이 지연될 수 있습니다.

  • CAA 레코드가 지나치게 제한적입니다.
    문제 해결 팁: 인증 기관 'letsencrypt.org' 및 'pki.goog`가 도메인에 SSL 인증서를 만들 수 있도록 설정되어 있는지 확인하세요.
  • 챌린지 코드가 유효하지 않습니다.
    고급 설정 과정을 사용 중이고 마이그레이션할 수 없으면 토큰 및 토큰의 챌린지 코드가 유효하지 않습니다.
    문제해결 팁: 도메인에 대한 를 클릭한 후 기존 도메인에 새 토큰을 제공하세요.
  • 너무 많은 하위 도메인에 대해 인증서를 요청했습니다.
    문제 해결 팁: 일반적으로 Firebase Hosting에서는 SSL 인증서 발급 제한 때문에 최상위 커스텀 도메인 하나에 하위 도메인을 20개 이하로 설정하는 것이 좋습니다.
인증서 민팅

SSL 인증서가 도메인에 대해 생성됩니다.

연결됨

커스텀 도메인에 올바른 DNS 레코드와 SSL 인증서가 있습니다.
사이트 콘텐츠를 제공할 수 있습니다.