Firebase Hosting을 사용하면 브랜드 중심의 고유한 도메인 이름을 선택할 수 있습니다. Firebase에서 생성된 도메인이 아닌 커스텀 도메인(예: example.com
또는 app.example.com
)을 Firebase 호스팅 사이트에 사용할 수 있습니다.
Firebase Hosting은 각 도메인의 SSL 인증서를 프로비저닝하고 글로벌 CDN을 통해 콘텐츠를 제공합니다.
이 문서의 나머지 부분에 나와 있는 단계별 안내에 따라 커스텀 도메인을 연결할 수 있습니다.
Hosting용 도메인 설정
Firebase 프로젝트에서 Firebase Hosting 사이트를 사용하려면 프로젝트의 Firebase Hosting 페이지에서 '시작하기' 마법사를 완료했는지 확인하세요.
1단계: 커스텀 도메인 추가
프로젝트의 Hosting 페이지에서 커스텀 도메인 연결 마법사를 시작합니다.
- Hosting 사이트가 하나만 있는 경우 커스텀 도메인 추가를 클릭합니다.
- Hosting 사이트가 2개 이상 있는 경우 원하는 사이트의 뷰를 클릭한 후 커스텀 도메인 추가를 클릭합니다.
Hosting 사이트에 연결할 커스텀 도메인 이름을 입력합니다.
(선택사항) 커스텀 도메인의 모든 요청을 지정된 두 번째 도메인으로 리디렉션하려면 체크박스를 선택합니다(
example.com
과www.example.com
을 동일한 콘텐츠로 리디렉션).계속을 클릭하여 DNS 레코드를 구성하고 커스텀 도메인 설정을 완료합니다.
2단계: 커스텀 도메인 설정
도메인 연결 설정 마법사에서 요청할 경우 최상위 도메인을 인증합니다.
이러한 단계를 통해 도메인이 Firebase 프로젝트에 아직 연결되어 있지 않고 지정된 도메인을 소유하고 있음을 확인합니다.
도메인 제공업체 사이트에서 DNS 관리 페이지를 찾습니다.
다음을 입력하여 새 레코드를 추가하고 저장합니다.
유형: TXT 레코드를 추가합니다.
Firebase Hosting을 사용하려면 도메인 소유권을 증명하고 Firebase가 사이트의 SSL 인증서를 할당하고 갱신할 수 있도록 DNS 설정에 이 TXT 레코드를 계속 유지해야 합니다.
도메인 제공업체에 따라 이 용어를 '레코드 유형'으로 표시할 수도 있습니다.
호스트: 최상위 도메인 키를 입력합니다.
최상위 도메인 또는 루트 도메인의 소유권을 증명하면 모든 하위 도메인의 소유권이 증명됩니다.
도메인 제공업체에 따라 이 용어를 '호스트 이름', '이름' 또는 '도메인'으로 표시할 수도 있습니다.
값: 고유한 인증 값을 필드에 복사합니다.
Firebase Hosting은 도메인 소유권을 증명하기 위해 이 값을 확인합니다.
도메인 제공업체에 따라 이 용어를 '데이터'로 표시할 수도 있습니다.
업데이트된 TXT 레코드를 전파하는 데 최대 24시간이 걸릴 수 있습니다. 그런 다음 확인을 클릭합니다.
취소를 클릭하면 도메인 연결 창이 안전하게 닫힙니다. 나중에 이 창을 다시 열 수 있습니다. 전파 시간에는 영향을 미치지 않지만 창을 열면 도메인 이름을 다시 입력하라는 메시지가 표시됩니다.
전파 시간이 충분히 지난 후 Firebase Console의 도메인 연결 창에서 확인을 클릭하면 SSL 인증서 프로비저닝 프로세스를 시작할 수 있습니다.
대부분의 경우 레코드 전파와 도메인 인증은 도메인 제공업체에 따라 몇 시간 내에 완료됩니다. TXT 레코드 추가와 전파 시간에 대한 자세한 내용은 도메인 제공업체 문서를 참조하세요.
확인을 클릭했을 때 오류 메시지가 표시되는 경우 레코드가 전파되지 않았거나 값이 잘못되었을 수 있습니다.
Firebase Console의 커스텀 도메인 추가 마법사에서 빠른 설정 또는 고급 설정을 선택합니다.
빠른 설정은 현재 트래픽을 수신하지 않는 새 도메인 또는 다른 Hosting 사이트에서 전송을 시도 중인 도메인에 사용할 수 있습니다. 고급 설정은 다른 호스팅 업체에서 도메인 수신 요청이 있고 제로 다운타임 마이그레이션이 필요한 경우에 사용할 수 있습니다.
고급 설정 마법사는 트래픽 수신 전 Hosting이 도메인에서 트래픽을 제공하도록 SSL 인증서 및 소유권 주장을 설정하는 데 도움이 됩니다.
빠른 설정
- Firebase Console의 커스텀 도메인 추가 마법사는 페이지를 Firebase Hosting에 연결하기 위해 업데이트해야 하는 필수 레코드를 보여줍니다. 다음 입력을 사용해서 DNS 제공업체에서 사용자 도메인으로부터 레코드를 추가, 삭제, 저장합니다.
- 유형: 제공된 DNS 레코드를 추가합니다.
- 호스트: 레코드에 커스텀 도메인 키를 입력합니다.
- 값: 제공된 IP 주소를 레코드 값에 할당합니다.
- SSL 인증서가 프로비저닝되기를 기다립니다. DNS를 Firebase Hosting에 연결한 후 최대 24시간까지 걸릴 수 있습니다. 대부분의 경우 레코드 전파와 SSL 인증서 프로비저닝은 도메인 제공업체에 따라 몇 시간 내에 이루어집니다.
입력한 호스트는 콘텐츠를 제공할 도메인이며 이 도메인은 최상위 도메인 또는 하위 도메인일 수 있습니다.
도메인 제공업체에 따라 이 용어를 '호스트 이름', '이름', '도메인'으로 표시할 수도 있습니다.
도메인 제공업체에 따라 이 용어를 '데이터', '지정 대상', '콘텐츠', '주소', 'IP 주소'로 표시할 수도 있습니다.
고급 설정
커스텀 도메인 추가 마법사의 고급 설정 모드에서는 트래픽을 해당 서버로 연결하기 전에 도메인을 안전하게 제공하도록 Hosting을 구성할 수 있습니다. 일반적으로 Hosting에는 도메인에서 트래픽을 성공적으로 제공하기 위해 3가지 항목이 필요합니다.
- 소유권 레코드: TXT 레코드가 Hosting에 도메인에서 제공할 사이트를 알려줍니다.
- SSL 인증서: Hosting 서버와 최종 사용자 간의 암호화된 통신을 사용 설정하는 도메인 특정 인증서입니다.
- 호스팅 IP 주소: 도메인의 모든 요청을 Hosting 서버로 연결하는 하나 이상의 A 및 AAAA 레코드입니다.
고급 설정은 Hosting이 처음 2개의 요구사항을 미리 처리할 수 있도록 도메인 구성을 안내하므로, 도메인의 트래픽 수신을 시작하기 전에 올바른 콘텐츠를 제공할 준비가 됩니다. 이 마법사는 이 프로세스를 2단계 워크플로로 표시합니다.
- 도메인 준비
- DNS 레코드 업데이트: 도메인에 하나 이상의 레코드를 추가합니다.
- 소유권: `hosting-site=[site_id]` 형식의 TXT 레코드입니다.
- CAA(선택사항): Hosting의 인증 기관이 도메인의 SSL 인증서를 민팅하도록 허용하는 CAA 레코드 쌍입니다. Hosting에서 인증서 프로비저닝을 방해하는 기존 CAA 레코드가 발견된 경우에만 제공됩니다.
- SSL 인증서 설정: 이 마법사는 Hosting의 인증 기관이 도메인의 SSL 인증서를 민팅하기 위해 사용할 ACME 챌린지를 제공합니다. DNS 또는 HTTP 챌린지 중에서 선택할 수 있습니다.
- DNS 챌린지: 도메인 제공업체의 DNS 관리 사이트로 이동합니다. ACME 챌린지 하위 도메인 키 및 제공된 값으로 TXT 레코드를 추가합니다. TXT 레코드 전파에 최대 24시간이 걸릴 수 있습니다.
- HTTP 챌린지: 지정된 URL에서 기존 사이트에 제공된 텍스트 파일을 업로드하고 해당 존재 유무를 확인합니다.
- Hosting으로 전달
- 유형: 요청된 DNS A/AAAA 레코드를 추가합니다.
- 호스트: 두 레코드 모두 커스텀 도메인 키를 입력합니다.
입력한 호스트는 콘텐츠를 제공할 도메인이며 이 도메인은 최상위 도메인 또는 하위 도메인일 수 있습니다. 도메인 제공업체에 따라 이 용어를 '호스트 이름', '이름', '도메인'으로 표시할 수도 있습니다.
- 값: 도메인이 지정된 IP 주소를 가리키도록 각 DNS A/AAAA 레코드에 값을 하나씩 할당합니다.
도메인 제공업체에 따라 이 용어를 '데이터', '지정 대상', '콘텐츠', '주소', 'IP 주소'로 표시할 수도 있습니다.
Hosting이 CA에서 확인을 요청하기 전에 ACME 챌린지를 자체적으로 검증하려고 시도합니다. 간헐적인 서비스 문제 등의 이유로 CA가 챌린지 검증을 실패하면 Hosting이 새로운 챌린지 집합을 생성해야 합니다. 확인에 성공하면 Hosting이 SSL 인증서를 프로비저닝하고 전파를 허용하는 데 몇 시간까지 걸릴 수 있습니다.
Hosting으로 도메인 소유권이 설정되고 SSL 인증서가 프로비저닝된 후 DNS 제공업체로 돌아가서 Hosting으로 요청을 전달하는 DNS A/AAAA 레코드를 추가합니다.
SSL 인증서 프로비저닝 대기
도메인 소유권이 인증되면 DNS A 레코드가 Firebase Hosting을 가리키도록 설정된 후 24시간 내에 도메인의 SSL 인증서가 프로비저닝되어 글로벌 CDN을 통해 배포됩니다.
FirebaseApp SSL 인증서에 도메인이 주체 대체 이름(SAN) 중 하나로 표시됩니다. 브라우저의 보안 도구를 사용하면 이 인증서를 볼 수 있습니다. 도메인이 프로비저닝되는 동안 도메인 이름이 포함되지 않는 잘못된 인증서가 표시될 수 있습니다. 이는 정상적인 절차 중 한 부분이며 도메인 인증서를 사용할 수 있게 되면 해결됩니다.
고급 설정 사용자의 웹사이트는 프로젝트의 Firebase Hosting 페이지에 있는 설정 상태가 연결됨으로 업데이트될 때까지 이전 호스팅 업체에서 호스팅됩니다.
커스텀 도메인 키
DNS 레코드를 추가하거나 수정할 때 서로 다른 도메인 제공업체의 DNS 관리 사이트 내 호스트 필드에는 서로 다른 입력 값을 입력해야 합니다. 아래에 자주 사용되는 제공업체의 일반적인 입력 값이 정리되어 있습니다. 자세한 안내는 도메인 제공업체의 문서를 참조하세요.
도메인 유형 | 커스텀 도메인 키 |
---|---|
최상위 도메인 |
일반적인 입력 값은 다음과 같습니다.
|
하위 도메인 | 일반적인 입력 값은 다음과 같습니다.
|
일반적인 도메인 제공업체
다음은 몇 가지 일반적인 도메인 제공업체 및 각 제공업체에 필요한 입력 유형입니다. 이 정보는 가능한 한 최신 상태로 유지되지만, 자세한 안내는 도메인 제공업체의 문서를 참조하세요.
Cloudflare
유형 | 호스트 | 값 |
---|---|---|
DNS TXT 레코드 입력 | ||
TXT | example.com | Firebase Console에 제공된 인증 값 |
DNS A 레코드 입력 | ||
A | example.com | 199.36.158.100 |
A | www | 199.36.158.100 |
Google Cloud DNS
유형 | 호스트 | 값 |
---|---|---|
DNS TXT 레코드 입력 | ||
TXT | example.com | Firebase Console에 제공된 인증 값 |
DNS A 레코드 입력 | ||
A | example.com | 199.36.158.100 |
A | www | 199.36.158.100 |
NameCheap
유형 | 호스트 | 값 |
---|---|---|
DNS TXT 레코드 입력 | ||
TXT | @ | Firebase Console에 제공된 인증 값 |
DNS A 레코드 입력 | ||
A | @ | 199.36.158.100 |
A | www | 199.36.158.100 |
Squarespace
유형 | 호스트 | 값 |
---|---|---|
DNS TXT 레코드 입력 | ||
TXT | @ | Firebase Console에 제공된 인증 값 |
DNS A 레코드 입력 | ||
A | @ | 199.36.158.100 |
A | www | 199.36.158.100 |
커스텀 도메인의 설정 상태 설명
상태 | 설명 |
---|---|
설정 필요 |
DNS 레코드를 사용하여 구성을 변경해야 할 수 있습니다.
|
대기 중 | 커스텀 도메인을 올바르게 설정했지만 Firebase Hosting이 SSL 인증서를 프로비저닝하지 않았습니다. 경우에 따라 다음 문제 때문에 커스텀 도메인의 SSL 인증서 발급이 지연될 수 있습니다.
|
인증서 민팅 | SSL 인증서가 도메인에 대해 생성됩니다. |
연결됨 | 커스텀 도메인에 올바른 DNS 레코드와 SSL 인증서가 있습니다. |