REST Resource: projects.sites.customDomains

리소스: CustomDomain

CustomDomain 은 도메인 이름을 Firebase 호스팅 사이트에 연결하는 엔터티입니다. 호스팅이 도메인 이름에 대한 요청에 응답하여 사이트 콘텐츠를 제공할 수 있도록 사이트에 CustomDomain 추가하세요.

JSON 표현
{
  "name": string,
  "annotations": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "expireTime": string,
  "etag": string,
  "hostState": enum (HostState),
  "ownershipState": enum (OwnershipState),
  "requiredDnsUpdates": {
    object (DnsUpdates)
  },
  "issues": [
    {
      object (Status)
    }
  ],
  "certPreference": enum (Type),
  "cert": {
    object (Certificate)
  },
  "redirectTarget": string,
  "reconciling": boolean,
  "labels": {
    string: string,
    ...
  }
}
필드
name

string

출력만 가능합니다. CustomDomain 의 정규화된 이름입니다.

annotations

map (key: string, value: string)

CustomDomain 에 대해 사람이 읽을 수 있는 메타데이터와 기계가 읽을 수 있는 메타데이터를 모두 남기기 위해 추가할 수 있는 주석입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

createTime

string ( Timestamp format)

출력만 가능합니다. 사용자 정의 도메인의 생성 시간입니다.

RFC3339 UTC "Zulu" 형식의 타임스탬프이며 해상도는 나노초이며 최대 9자리 소수 자릿수입니다. 예: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z" .

updateTime

string ( Timestamp format)

출력만 가능합니다. CustomDomain 이 마지막으로 업데이트된 시간입니다.

RFC3339 UTC "Zulu" 형식의 타임스탬프이며 해상도는 나노초이며 최대 9자리 소수 자릿수입니다. 예: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z" .

deleteTime

string ( Timestamp format)

출력만 가능합니다. CustomDomain 이 삭제된 시간입니다. 삭제되지 않은 사용자 정의 도메인의 경우 null입니다. 삭제된 사용자 지정 도메인은 약 30일 동안 유지되며 그 이후에는 호스팅에서 완전히 제거됩니다. 삭제된 사용자 정의 도메인을 복원하려면 customDomains.undelete 요청을 수행하세요.

RFC3339 UTC "Zulu" 형식의 타임스탬프이며 해상도는 나노초이며 최대 9자리 소수 자릿수입니다. 예: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

출력만 가능합니다. 일시 삭제된 CustomDomain 이 호스팅에서 완전히 제거되기까지의 최소 시간입니다. 삭제되지 않은 사용자 정의 도메인의 경우 null입니다.

RFC3339 UTC "Zulu" 형식의 타임스탬프이며 해상도는 나노초이며 최대 9자리 소수 자릿수입니다. 예: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z" .

etag

string

출력만 가능합니다. CustomDomain 의 현재 상태를 나타내고 이를 수정하려는 요청에서 초기 상태를 확인할 수 있는 문자열입니다. customDomains.patch , customDomains.deletecustomDomains.undelete 요청을 할 때 일관성을 보장하려면 태그를 사용하세요.

hostState

enum ( HostState )

출력만 가능합니다. 이 CustomDomain 참조하는 도메인 이름의 HostState 입니다.

ownershipState

enum ( OwnershipState )

출력만 가능합니다. 이 CustomDomain 참조하는 도메인 이름의 OwnershipState .

requiredDnsUpdates

object ( DnsUpdates )

출력만 가능합니다. 호스팅이 대신 보안 콘텐츠를 제공할 수 있도록 도메인 이름의 DNS 레코드를 업데이트해야 합니다.

issues[]

object ( Status )

출력만 가능합니다. 귀하의 도메인 이름에 대한 보안 콘텐츠를 제공하기 위한 호스팅 기능을 설정하려고 할 때 호스팅 시스템에서 발생하는 일련의 오류입니다. CustomDomain 제대로 작동하도록 하려면 이러한 문제를 해결하세요.

certPreference

enum ( Type )

호스팅이 도메인 이름에 대해 생성하는 SSL 인증서 유형을 지정할 수 있는 필드입니다. Spark 계획 사용자 지정 도메인은 GROUPED 인증서 유형에만 액세스할 수 있는 반면 Blaze 계획 도메인은 모든 옵션을 선택할 수 있습니다.

cert

object ( Certificate )

출력만 가능합니다. SSL 인증서 호스팅에는 이 사용자 정의 도메인의 도메인 이름이 있습니다. 새로운 사용자 정의 도메인의 경우 이는 실제 인증서가 아닌 인증서를 생성하려는 호스팅의 의도를 나타내는 경우가 많습니다. 자세한 내용은 state 필드를 확인하세요.

redirectTarget

string

CustomDomain 이 트래픽을 전달해야 하는 도메인 이름입니다. 지정된 경우 호스팅은 HTTP 301 코드를 사용하여 이 사용자 지정 도메인에 대한 요청에 응답하고 대신 지정된 redirectTarget 대상으로 트래픽을 라우팅합니다.

reconciling

boolean

출력만 가능합니다. true인 경우 호스팅 시스템이 사용자 정의 도메인의 상태를 원하는 상태와 일치시키려고 시도하고 있음을 나타내는 필드입니다. 이는 customDomains.create 요청 후 처음으로 CustomDomain 프로비저닝하거나 customDomains.patch 요청 후 업데이트된 certPreference 와 일치하도록 새 SSL 인증서를 생성할 때 가장 자주 true .

labels

map (key: string, value: string)

추가 메타데이터 및/또는 필터링에 사용되는 라벨입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

호스트 상태

도메인 이름의 호스트 상태입니다. 호스트 상태는 도메인 이름과 연결된 각 IP 주소가 호스팅 콘텐츠를 제공하는지 확인하여 결정됩니다.

열거형
HOST_STATE_UNSPECIFIED 사용자 정의 도메인의 호스트 상태가 지정되지 않았습니다. 지정되지 않으면 메시지가 유효하지 않습니다.
HOST_UNHOSTED 사용자 정의 도메인의 도메인 이름은 IP 주소와 연결되어 있지 않습니다.
HOST_UNREACHABLE 사용자 정의 도메인의 도메인 이름에 접근할 수 없습니다. 도메인 이름의 IP 주소를 찾기 위한 호스팅 서비스의 DNS 쿼리에 오류가 발생했습니다. 자세한 내용은 CustomDomain 개체의 issues 필드를 참조하세요.
HOST_MISMATCH 사용자 지정 도메인의 도메인 이름에 최종적으로 호스팅으로 확인되지 않는 IP 주소가 있습니다.
HOST_CONFLICT 사용자 정의 도메인의 도메인 이름에는 호스팅 및 기타 서비스 모두로 확인되는 IP 주소가 있습니다. 일관된 결과를 보장하려면 비호스팅 서비스와 관련된 AAAAA 레코드를 제거하세요.
HOST_ACTIVE 사용자 지정 도메인의 도메인 이름에 대한 모든 요청은 호스팅에서 처리됩니다. 사용자 정의 도메인의 OwnershipStateACTIVE 인 경우 호스팅은 도메인 이름에 호스팅 사이트의 콘텐츠를 제공합니다.

소유권 상태

도메인의 소유권 상태입니다. 도메인은 최대 하나의 Firebase 호스팅 사이트에서 소유할 수 있습니다. 소유권은 두 가지 방법으로 결정될 수 있습니다.

* TXT records: A TXT record on the domain in the form
`hosting-site=[siteId]`.
* CNAME records: A CNAME record that points to a Hosting site's default
domain.

CustomDomain 이 30일 이상 OWNERSHIP_ACTIVE 가 아닌 OwnershipState 에 있고 최소 30일 동안 업데이트되지 않은 경우 호스팅의 소유권 시스템은 CustomDomain 을 삭제합니다. 삭제된 CustomDomain 복원하려면 customDomains.undelete 요청을 수행하세요.

열거형
OWNERSHIP_STATE_UNSPECIFIED 사용자 정의 도메인의 소유권 상태가 지정되지 않았습니다. 이런 일이 일어나서는 안 됩니다.
OWNERSHIP_MISSING 사용자 정의 도메인의 도메인 이름에는 호스팅 관련 소유권 기록이 없습니다. Firebase 프로젝트에는 도메인 이름을 대신하여 작업할 권한이 없습니다.
OWNERSHIP_UNREACHABLE 사용자 정의 도메인의 도메인 이름에 접근할 수 없습니다. 도메인 이름의 소유권 기록을 찾기 위한 호스팅 서비스의 DNS 쿼리에 오류가 발생했습니다. 자세한 내용은 CustomDomain 개체의 issues 필드를 참조하세요.
OWNERSHIP_MISMATCH 맞춤 도메인의 도메인 이름은 다른 Firebase 프로젝트에서 소유하고 있습니다. 충돌하는 TXT 레코드를 삭제하고 현재 Firebase 프로젝트의 프로젝트별 레코드로 대체합니다.
OWNERSHIP_CONFLICT 맞춤 도메인의 도메인 이름에 현재 Firebase 프로젝트와 다른 프로젝트의 소유권을 나타내는 충돌하는 TXT 레코드가 있습니다. 현재 프로젝트 소유권을 부여하려면 다른 프로젝트의 소유권 기록을 삭제하세요.
OWNERSHIP_PENDING 사용자 정의 도메인의 DNS 레코드가 올바르게 구성되었습니다. 호스팅은 24시간 이내에 귀하의 도메인 소유권을 이 CustomDomain 으로 이전합니다.
OWNERSHIP_ACTIVE 사용자 정의 도메인의 도메인 이름에는 도메인을 대신하여 작업할 프로젝트 권한을 부여하는 TXT 레코드가 있습니다.

DNS업데이트

호스팅이 귀하의 도메인 이름에 대한 요청에 응답하여 보안 콘텐츠를 제공할 수 있도록 하기 위해 수행해야 하는 DNS 레코드 업데이트 세트입니다. 이러한 업데이트는 호스팅이 마지막으로 쿼리했을 때 도메인 이름의 DNS 레코드의 현재 상태와 사용자 지정 도메인이 완전히 활성화되기 전에 호스팅이 확인해야 하는 원하는 레코드 세트를 제공합니다.

JSON 표현
{
  "discovered": [
    {
      object (DnsRecordSet)
    }
  ],
  "desired": [
    {
      object (DnsRecordSet)
    }
  ],
  "checkTime": string
}
필드
discovered[]

object ( DnsRecordSet )

도메인을 검사할 때 호스팅이 발견한 DNS 레코드 세트입니다.

desired[]

object ( DnsRecordSet )

DNS 레코드 세트 호스팅은 도메인에서 보안 콘텐츠를 제공해야 합니다.

checkTime

string ( Timestamp format)

호스팅에서 사용자 지정 도메인의 DNS 레코드를 마지막으로 확인한 시간입니다.

RFC3339 UTC "Zulu" 형식의 타임스탬프이며 해상도는 나노초이며 최대 9자리 소수 자릿수입니다. 예: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z" .

DnsRecordSet

Firebase 호스팅의 맞춤 도메인 설정 및 유지 관리와 관련된 DNS 레코드 집합입니다.

JSON 표현
{
  "domainName": string,
  "checkError": {
    object (Status)
  },
  "records": [
    {
      object (DnsRecord)
    }
  ]
}
필드
domainName

string

출력만 가능합니다. 레코드 세트가 속한 도메인 이름입니다.

checkError

object ( Status )

출력만 가능합니다. 도메인 이름의 DNS 레코드를 쿼리할 때 호스팅 서비스 오류가 발생했습니다. 참고: 호스팅에서는 NXDOMAIN 오류를 무시합니다. 이는 일반적으로 도메인 이름이 아직 설정되지 않았음을 의미하기 때문입니다.

records[]

object ( DnsRecord )

출력만 가능합니다. 도메인에 대한 기록입니다.

DNS 기록

DNS 레코드는 도메인 이름에 대한 요청을 처리할 때 시스템과 서비스가 작동하는 방식을 정의하는 리소스 레코드입니다. 예를 들어, 도메인 이름의 DNS 레코드에 A 레코드를 추가하면 다른 시스템(예: 사용자의 웹 브라우저)에 해당 IPv4 주소에 접속하여 도메인 이름과 관련된 리소스(예: 호스팅 사이트 파일)를 검색하도록 알리는 것입니다. ).

JSON 표현
{
  "domainName": string,
  "type": enum (Type),
  "rdata": string,
  "requiredAction": enum (Action)
}
필드
domainName

string

출력만 가능합니다. 레코드가 속한 도메인 이름(예: foo.bar.com. .

type

enum ( Type )

출력만 가능합니다. 레코드에 포함된 데이터를 결정하는 레코드 유형입니다.

rdata

string

출력만 가능합니다. 기록의 데이터입니다. 값의 의미는 레코드 유형에 따라 다릅니다. - A 및 AAAA: 도메인 이름의 IP 주소. - CNAME: 기록을 확인할 또 다른 도메인입니다. - TXT: 도메인 이름과 관련된 임의의 텍스트 문자열입니다. 호스팅에서는 TXT 레코드를 사용하여 도메인 이름을 대신할 권한이 있는 Firebase 프로젝트를 결정합니다. - CAA: 레코드의 플래그, 태그 및 값(예: 0 issue "pki.goog" .

requiredAction

enum ( Action )

출력만 가능합니다. 이 레코드에 대해 필요한 작업을 나타내는 열거형입니다.

유형

A , TXT , AAAACAA 를 포함한 DNS 레코드의 유형입니다.

열거형
TYPE_UNSPECIFIED 레코드 유형이 지정되지 않았습니다. 지정되지 않으면 메시지가 유효하지 않습니다.
A RFC 1035 에 정의된 A 레코드입니다. 레코드는 도메인 이름이 트래픽을 보내는 IPv4 주소를 결정합니다.
CNAME RFC 1035 에 정의된 CNAME 레코드입니다. CNAME 또는 정식 이름 레코드는 도메인 이름을 다른 정식 도메인 이름에 매핑합니다. CNAME 레코드가 있는 경우 도메인 이름에 대한 유일한 레코드여야 합니다.
TXT RFC 1035 에 정의된 TXT 레코드입니다. TXT 레코드는 도메인 이름에 대한 임의의 텍스트 데이터를 보유합니다. 호스팅에서는 TXT 레코드를 사용하여 도메인 이름에 대한 작업 권한이 있는 Firebase 프로젝트를 설정합니다.
AAAA RFC 3596 AAAA 레코드에 정의된 AAAA 레코드는 도메인 이름이 트래픽을 보내는 IPv6 주소를 결정합니다.
CAA

RFC 6844 에 정의된 CAA 레코드입니다. CAA 또는 인증 기관 인증 기록에 따라 도메인 이름에 대한 인증서를 발행할 권한이 있는 인증 기관(SSL 인증서 발행 조직)이 결정됩니다. Firebase 호스팅은 pki.goog 기본 CA로 사용합니다.

CAA 레코드 계단식. foo.com 에 자체 CAA 레코드 세트가 없으면 bar.foo.com 의 CAA 레코드는 bar.foo.com 에도 적용됩니다.

CAA 레코드는 선택 사항입니다. 도메인 이름과 해당 상위 항목에 CAA 레코드가 없는 경우 모든 CA는 이를 대신하여 인증서를 생성할 권한이 있습니다. 일반적으로 호스팅에서는 SSL 인증서 생성 차단을 해제하기 위해 CAA 레코드 수정이 필요한 경우에만 CAA 레코드 수정을 요청합니다.

행동

작업은 Firebase 호스팅에 사용할 도메인을 구성하기 위해 이 DNS 레코드에 대해 수행해야 하는 작업 유형입니다.

열거형
NONE 조치가 필요하지 않습니다.
ADD 이 레코드를 DNS 레코드에 추가하세요.
REMOVE DNS 레코드에서 이 레코드를 제거하세요.

유형

인증서 유형입니다. 호스팅 시스템이 인증서 생성 및 유지 관리를 처리하는 방법을 결정합니다.

열거형
TYPE_UNSPECIFIED 인증서 유형이 지정되지 않았습니다. 지정되지 않으면 메시지가 유효하지 않습니다.
TEMPORARY 일시적으로 도메인 이름을 다루는 단기 인증서 유형이지만 호스팅에서는 보다 영구적인 인증서를 생성합니다.
GROUPED Spark 플랜 사용자 정의 도메인의 표준 인증서입니다.
PROJECT_GROUPED Blaze 요금제에만 해당됩니다. 동일한 Firebase 프로젝트의 맞춤 도메인이 포함된 1~100개의 도메인 이름을 다루는 인증서입니다.
DEDICATED Blaze 요금제에만 해당됩니다. 단일 도메인 이름을 다루는 인증서입니다.

자격증

도메인 이름에 대한 요청에 대해 종단 간 암호화를 제공하는 데 사용되는 SSL 인증서입니다. Certificate 실제 SSL 인증서일 수도 있고 새로 생성된 사용자 지정 도메인의 경우 호스팅에서 인증서를 생성하려는 의도일 수도 있습니다.

JSON 표현
{
  "type": enum (Type),
  "state": enum (CertState),
  "verification": {
    object (CertVerification)
  },
  "issues": [
    {
      object (Status)
    }
  ],
  "createTime": string,
  "expireTime": string
}
필드
type

enum ( Type )

출력만 가능합니다. 인증서 유형입니다.

state

enum ( CertState )

출력만 가능합니다. 인증서의 상태입니다. CERT_ACTIVECERT_EXPIRING_SOON 상태만 도메인 이름에 SSL 적용 범위를 제공합니다. 상태가 PROPAGATING 이고 호스팅에 이전에 도메인 이름에 대한 활성 인증서가 있었던 경우 이전에 활성화된 인증서는 현재 인증서가 전파될 때까지 도메인 이름에 대한 SSL 적용 범위를 제공합니다.

verification

object ( CertVerification )

출력만 가능합니다. DNS 레코드나 기존 비호스팅 호스팅 제공업체에 추가하여 트래픽을 호스팅으로 보내기 전에 호스팅에서 도메인 이름에 대한 SSL 인증서를 생성할 수 있도록 하는 일련의 ACME 챌린지입니다. 이러한 문제를 기존 공급자에서 호스팅으로의 가동 중지 시간 없이 전환하는 과정의 일부로 사용할 수 있습니다.

issues[]

object ( Status )

출력만 가능합니다. 도메인 이름에 대한 인증서를 생성하려고 할 때 호스팅에서 발생하는 일련의 오류입니다. 호스팅이 사이트 방문자와 안전한 통신을 제공할 수 있도록 이러한 문제를 해결하세요.

createTime

string ( Timestamp format)

출력만 가능합니다. 인증서 생성 시간입니다. TEMPORARY 인증서의 경우 호스팅이 도메인 이름에 대한 문제를 처음 생성한 시간입니다. 다른 모든 인증서 유형의 경우 실제 인증서가 생성된 시간입니다.

RFC3339 UTC "Zulu" 형식의 타임스탬프이며 해상도는 나노초이며 최대 9자리 소수 자릿수입니다. 예: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

출력만 가능합니다. 인증서의 만료 시간입니다. 이 시간이 지나면 호스팅과 사이트 방문자 간의 보안 통신을 제공하기 위해 인증서를 더 이상 사용할 수 없습니다.

RFC3339 UTC "Zulu" 형식의 타임스탬프이며 해상도는 나노초이며 최대 9자리 소수 자릿수입니다. 예: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z" .

인증서 상태

귀하의 도메인 이름에 대한 SSL 인증서 호스팅 상태입니다. 이는 실제 인증서의 상태를 나타낼 수도 있고, 새 사용자 지정 도메인의 경우 호스팅의 인증서 생성 시도를 나타낼 수도 있습니다.

열거형
CERT_STATE_UNSPECIFIED 인증서 상태가 지정되지 않았습니다. 지정되지 않으면 메시지가 유효하지 않습니다.
CERT_PREPARING 모든 인증서의 초기 상태는 인증 기관에 요청하기 전에 인증서를 생성하려는 호스팅의 의도를 나타냅니다.
CERT_VALIDATING 호스팅은 도메인 이름의 DNS 레코드가 대신 인증서 생성을 허용하는 상태인지 확인합니다.
CERT_PROPAGATING 인증서가 최근에 생성되었으며 호스팅의 CDN에 전파되려면 시간이 필요합니다.
CERT_ACTIVE 인증서가 활성화되어 인증서가 나타내는 도메인 이름에 대한 보안 연결을 제공합니다.
CERT_EXPIRING_SOON 인증서가 만료되면 해당 인증서의 모든 도메인 이름에 새 인증서가 부여됩니다.
CERT_EXPIRED 인증서가 만료되었습니다. 호스팅에서는 더 이상 귀하의 도메인 이름에 보안 콘텐츠를 제공할 수 없습니다.

인증서검증

호스팅 서버로 트래픽을 보내기 전에 호스팅이 도메인 이름에 대한 SSL 인증서를 생성하도록 허용하는 데 사용할 수 있는 ACME 챌린지 세트입니다. DNS 또는 HTTP 챌린지를 사용하세요. 둘 다 제공할 필요는 없습니다.

JSON 표현
{
  "dns": {
    object (DnsUpdates)
  },
  "http": {
    object (HttpUpdate)
  }
}
필드
dns

object ( DnsUpdates )

출력만 가능합니다. 호스팅에서 도메인 이름에 대한 SSL 인증서를 생성하도록 허용하려는 의도를 확인하는 DNS 레코드에 추가할 TXT 레코드입니다.

http

object ( HttpUpdate )

출력만 가능합니다. 호스팅이 도메인 이름에 대한 SSL 인증서를 생성하도록 허용하려는 의도를 확인하는 기존 비호스팅 호스팅 서비스에 추가할 파일입니다.

HTTP업데이트

호스팅의 인증 기관이 도메인에 대한 SSL 인증서를 생성하도록 허용하려는 의도를 확인하는 기존 비호스팅 호스팅 서비스에 추가할 수 있는 파일입니다.

JSON 표현
{
  "path": string,
  "desired": string,
  "discovered": string,
  "lastCheckTime": string,
  "checkError": {
    object (Status)
  }
}
필드
path

string

출력만 가능합니다. 파일의 경로입니다.

desired

string

출력만 가능합니다. 경로에 제공할 텍스트 문자열입니다.

discovered

string

출력만 가능합니다. 호스팅이 마지막 확인 중에 지정된 경로에서 필요한 파일 콘텐츠를 찾을 수 있었는지 여부입니다.

lastCheckTime

string ( Timestamp format)

출력만 가능합니다. 호스팅 시스템이 파일 내용을 마지막으로 확인한 시간입니다.

RFC3339 UTC "Zulu" 형식의 타임스탬프이며 해상도는 나노초이며 최대 9자리 소수 자릿수입니다. 예: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z" .

checkError

object ( Status )

출력만 가능합니다. 마지막 내용 확인 중 오류가 발생했습니다. null인 경우 검사가 성공적으로 완료된 것입니다.

행동 양식

create

CustomDomain 을 만듭니다.

delete

지정된 CustomDomain 삭제합니다.

get

지정된 CustomDomain 가져옵니다.

list

지정된 상위 호스팅 사이트와 연결된 각 CustomDomain 나열합니다.

patch

지정된 CustomDomain 업데이트합니다.

undelete

일시 삭제된 경우 지정된 CustomDomain 삭제 취소합니다.