REST Resource: projects.sites.customDomains

Sumber daya: Domain Khusus

CustomDomain adalah entitas yang menautkan nama domain ke situs Firebase Hosting. Tambahkan CustomDomain ke situs Anda agar Hosting dapat menyajikan konten situs sebagai respons terhadap permintaan terhadap nama domain Anda.

Representasi 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,
    ...
  }
}
Bidang
name

string

Hanya keluaran. Nama CustomDomain yang sepenuhnya memenuhi syarat.

annotations

map (key: string, value: string)

Anotasi yang dapat Anda tambahkan agar metadata tentang CustomDomain Anda dapat dibaca manusia dan mesin.

Sebuah objek yang berisi daftar "key": value . Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

createTime

string ( Timestamp format)

Hanya keluaran. Waktu pembuatan domain khusus.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z" .

updateTime

string ( Timestamp format)

Hanya keluaran. Terakhir kali CustomDomain diperbarui.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z" .

deleteTime

string ( Timestamp format)

Hanya keluaran. Waktu CustomDomain dihapus; null untuk domain khusus yang belum dihapus. Domain khusus yang dihapus akan bertahan selama kurang lebih 30 hari, setelah itu Hosting akan menghapusnya sepenuhnya. Untuk memulihkan domain kustom yang dihapus, buat permintaan customDomains.undelete .

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Hanya keluaran. Waktu minimum sebelum CustomDomain yang dihapus sementara dihapus sepenuhnya dari Hosting; null untuk domain khusus yang belum dihapus.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z" .

etag

string

Hanya keluaran. String yang mewakili status CustomDomain saat ini dan memungkinkan Anda mengonfirmasi status awalnya dalam permintaan yang akan mengubahnya. Gunakan tag untuk memastikan konsistensi saat membuat permintaan customDomains.patch , customDomains.delete , dan customDomains.undelete .

hostState

enum ( HostState )

Hanya keluaran. HostState dari nama domain yang dirujuk oleh CustomDomain ini.

ownershipState

enum ( OwnershipState )

Hanya keluaran. OwnershipState nama domain yang dirujuk oleh CustomDomain ini.

requiredDnsUpdates

object ( DnsUpdates )

Hanya keluaran. Serangkaian pembaruan yang harus Anda lakukan pada data DNS nama domain agar Hosting dapat menyajikan konten aman atas namanya.

issues[]

object ( Status )

Hanya keluaran. Serangkaian kesalahan yang dialami sistem Hosting saat mencoba menetapkan kemampuan Hosting untuk menyajikan konten aman untuk nama domain Anda. Selesaikan masalah ini untuk memastikan CustomDomain Anda berfungsi dengan baik.

certPreference

enum ( Type )

Bidang yang memungkinkan Anda menentukan jenis sertifikat SSL yang dibuat Hosting untuk nama domain Anda. Domain khusus paket Spark hanya memiliki akses ke jenis sertifikat GROUPED , sedangkan domain paket Blaze dapat memilih opsi apa pun.

cert

object ( Certificate )

Hanya keluaran. Sertifikat SSL yang dimiliki Hosting untuk nama domain domain khusus ini. Untuk domain kustom baru, hal ini sering kali mewakili maksud Hosting untuk membuat sertifikat, bukan sertifikat sebenarnya. Periksa bidang state untuk mengetahui lebih lanjut.

redirectTarget

string

Nama domain yang menjadi tujuan lalu lintas CustomDomain ini. Jika ditentukan, Hosting akan merespons permintaan terhadap domain khusus ini dengan kode HTTP 301, dan mengarahkan lalu lintas ke redirectTarget yang ditentukan.

reconciling

boolean

Hanya keluaran. Bidang yang, jika benar, menunjukkan bahwa sistem Hosting berupaya membuat status domain kustom sesuai dengan status pilihan Anda. Hal ini paling sering true saat pertama kali menyediakan CustomDomain setelah permintaan customDomains.create atau saat membuat sertifikat SSL baru untuk mencocokkan certPreference yang diperbarui setelah permintaan customDomains.patch .

labels

map (key: string, value: string)

Label yang digunakan untuk metadata tambahan dan/atau pemfilteran.

Sebuah objek yang berisi daftar "key": value . Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

Negara Tuan Rumah

Status host nama domain Anda. Status host ditentukan dengan memeriksa setiap alamat IP yang terkait dengan nama domain Anda untuk melihat apakah nama domain tersebut menyajikan konten Hosting.

Enum
HOST_STATE_UNSPECIFIED Status host domain khusus Anda tidak ditentukan. Pesan tidak valid jika tidak ditentukan.
HOST_UNHOSTED Nama domain domain khusus Anda tidak dikaitkan dengan alamat IP apa pun.
HOST_UNREACHABLE Nama domain domain khusus Anda tidak dapat dijangkau. Kueri DNS layanan hosting untuk menemukan alamat IP nama domain Anda menghasilkan kesalahan. Lihat bidang issues objek CustomDomain Anda untuk detail selengkapnya.
HOST_MISMATCH Nama domain domain khusus Anda memiliki alamat IP yang pada akhirnya tidak ditetapkan ke Hosting.
HOST_CONFLICT Nama domain domain khusus Anda memiliki alamat IP yang dapat digunakan untuk Hosting dan layanan lainnya. Untuk memastikan hasil yang konsisten, hapus data A dan AAAA yang terkait dengan layanan non-Hosting.
HOST_ACTIVE Semua permintaan terhadap nama domain domain kustom Anda dilayani oleh Hosting. Jika OwnershipState domain kustom juga ACTIVE , Hosting akan menyajikan konten situs Hosting Anda pada nama domain tersebut.

Status Kepemilikan

Status kepemilikan domain Anda. Sebuah domain hanya dapat dimiliki oleh satu Situs Firebase Hosting. Kepemilikan dapat ditentukan dengan dua cara:

* 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.

Jika CustomDomain Anda berada dalam OwnershipState selain OWNERSHIP_ACTIVE selama lebih dari 30 hari dan belum diperbarui setidaknya dalam 30 hari, sistem kepemilikan Hosting akan menghapus CustomDomain . Untuk memulihkan CustomDomain yang dihapus, buat permintaan customDomains.undelete .

Enum
OWNERSHIP_STATE_UNSPECIFIED Status kepemilikan domain khusus Anda tidak ditentukan. Ini seharusnya tidak pernah terjadi.
OWNERSHIP_MISSING Nama domain domain khusus Anda tidak memiliki catatan kepemilikan terkait Hosting; tidak ada proyek Firebase yang memiliki izin untuk bertindak atas nama nama domain tersebut.
OWNERSHIP_UNREACHABLE Nama domain domain khusus Anda tidak dapat dijangkau. Kueri DNS layanan hosting untuk menemukan catatan kepemilikan nama domain Anda menghasilkan kesalahan. Lihat bidang issues objek CustomDomain Anda untuk detail selengkapnya.
OWNERSHIP_MISMATCH Nama domain domain khusus Anda dimiliki oleh proyek Firebase lain. Hapus data TXT yang bertentangan dan gantikan dengan data khusus proyek untuk proyek Firebase Anda saat ini.
OWNERSHIP_CONFLICT Nama domain domain khusus Anda memiliki data TXT yang bertentangan yang menunjukkan kepemilikan proyek Firebase Anda saat ini dan proyek lainnya. Hapus catatan kepemilikan proyek lain untuk memberikan kepemilikan proyek saat ini.
OWNERSHIP_PENDING Data DNS domain kustom Anda dikonfigurasi dengan benar. Hosting akan mentransfer kepemilikan domain Anda ke CustomDomain ini dalam waktu 24 jam.
OWNERSHIP_ACTIVE Nama domain domain kustom Anda memiliki data TXT yang memberikan izin proyek untuk bertindak atas namanya.

Pembaruan DNS

Serangkaian pembaruan data DNS yang harus Anda lakukan agar Hosting dapat menyajikan konten aman sebagai respons terhadap permintaan terhadap nama domain Anda. Pembaruan ini menampilkan status terkini data DNS nama domain Anda saat Hosting terakhir menanyakannya, dan kumpulan data yang diinginkan yang perlu dilihat oleh Hosting sebelum domain khusus Anda dapat aktif sepenuhnya.

Representasi JSON
{
  "discovered": [
    {
      object (DnsRecordSet)
    }
  ],
  "desired": [
    {
      object (DnsRecordSet)
    }
  ],
  "checkTime": string
}
Bidang
discovered[]

object ( DnsRecordSet )

Kumpulan catatan DNS Hosting ditemukan saat memeriksa domain.

desired[]

object ( DnsRecordSet )

Kumpulan data DNS yang dibutuhkan Hosting untuk menyajikan konten aman di domain.

checkTime

string ( Timestamp format)

Terakhir kali Hosting memeriksa data DNS domain khusus Anda.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z" .

DnsRecordSet

Kumpulan data DNS yang relevan dengan penyiapan dan pemeliharaan domain khusus di Firebase Hosting.

Representasi JSON
{
  "domainName": string,
  "checkError": {
    object (Status)
  },
  "records": [
    {
      object (DnsRecord)
    }
  ]
}
Bidang
domainName

string

Hanya keluaran. Nama domain yang berkaitan dengan kumpulan data.

checkError

object ( Status )

Hanya keluaran. Kesalahan yang dialami layanan Hosting saat menanyakan data DNS nama domain Anda. Catatan: Hosting mengabaikan kesalahan NXDOMAIN , karena kesalahan tersebut biasanya hanya berarti bahwa nama domain belum disiapkan.

records[]

object ( DnsRecord )

Hanya keluaran. Catatan di domain.

Catatan DNS

Catatan DNS adalah catatan sumber daya yang menentukan bagaimana sistem dan layanan harus berperilaku ketika menangani permintaan nama domain. Misalnya, saat Anda menambahkan data A ke data DNS nama domain Anda, Anda memberi tahu sistem lain (seperti browser web pengguna Anda) untuk menghubungi alamat IPv4 tersebut guna mengambil sumber daya yang relevan dengan nama domain Anda (seperti file situs Hosting Anda ).

Representasi JSON
{
  "domainName": string,
  "type": enum (Type),
  "rdata": string,
  "requiredAction": enum (Action)
}
Bidang
domainName

string

Hanya keluaran. Nama domain yang berkaitan dengan catatan tersebut, misalnya foo.bar.com. .

type

enum ( Type )

Hanya keluaran. Tipe rekaman, yang menentukan data apa yang terkandung dalam rekaman tersebut.

rdata

string

Hanya keluaran. Data catatan. Arti nilainya tergantung pada tipe record: - A dan AAAA: Alamat IP untuk nama domain. - CNAME: Domain lain untuk memeriksa catatan. - TXT: String teks sewenang-wenang yang terkait dengan nama domain. Hosting menggunakan data TXT untuk menentukan project Firebase mana yang memiliki izin untuk bertindak atas nama nama domain. - CAA: Bendera, tag, dan nilai rekaman, misalnya 0 issue "pki.goog" .

requiredAction

enum ( Action )

Hanya keluaran. Enum yang menunjukkan tindakan yang diperlukan untuk catatan ini.

Jenis

Jenis data DNS, termasuk A , TXT , AAAA , dan CAA .

Enum
TYPE_UNSPECIFIED Jenis rekaman tidak ditentukan. Pesan tidak valid jika tidak ditentukan.
A Catatan A , sebagaimana didefinisikan dalam RFC 1035 . Catatan A menentukan alamat IPv4 mana yang mengarahkan lalu lintas ke nama domain.
CNAME Catatan CNAME , sebagaimana didefinisikan dalam RFC 1035 . Catatan CNAME atau Nama Kanonik memetakan nama domain ke nama domain kanonik yang berbeda. Jika ada data CNAME , data tersebut harus menjadi satu-satunya data pada nama domain.
TXT Catatan TXT , sebagaimana ditentukan dalam RFC 1035 . Data TXT menyimpan data teks arbitrer pada nama domain. Hosting menggunakan data TXT untuk menentukan Proyek Firebase mana yang memiliki izin untuk bertindak atas nama domain.
AAAA Catatan AAAA, sebagaimana didefinisikan dalam catatan AAAA RFC 3596 menentukan alamat IPv6 mana yang mengarahkan lalu lintas ke nama domain.
CAA

Catatan CAA, sebagaimana didefinisikan dalam RFC 6844 . Catatan CAA, atau Otorisasi Otoritas Sertifikat, menentukan Otoritas Sertifikat mana (organisasi pembuat sertifikat SSL) yang diberi wewenang untuk mencetak sertifikat untuk nama domain. Firebase Hosting menggunakan pki.goog sebagai CA utamanya.

Kaskade catatan CAA. Catatan CAA di foo.com juga berlaku untuk bar.foo.com kecuali bar.foo.com memiliki kumpulan catatan CAA sendiri.

Catatan CAA bersifat opsional. Jika nama domain dan induknya tidak memiliki data CAA, semua CA diberi wewenang untuk membuat sertifikat atas namanya. Secara umum, Hosting hanya meminta Anda untuk mengubah data CAA ketika hal itu diperlukan untuk membuka blokir pembuatan sertifikat SSL.

Tindakan

Tindakan adalah jenis tindakan yang harus Anda lakukan pada data DNS ini guna mengonfigurasi domain Anda agar digunakan dengan Firebase Hosting.

Enum
NONE Tidak perlu tindakan apa pun.
ADD Tambahkan catatan ini ke catatan DNS Anda.
REMOVE Hapus catatan ini dari catatan DNS Anda.

Jenis

Jenis sertifikat. Menentukan bagaimana sistem Hosting menangani pembuatan dan pemeliharaan sertifikat.

Enum
TYPE_UNSPECIFIED Jenis sertifikat tidak ditentukan. Pesan tidak valid jika tidak ditentukan.
TEMPORARY Jenis sertifikat berumur pendek yang mencakup nama domain sementara, sedangkan Hosting membuat sertifikat yang lebih permanen.
GROUPED Sertifikat standar untuk domain kustom paket Spark.
PROJECT_GROUPED Paket Blaze saja. Sertifikat yang mencakup 1 hingga 100 nama domain dengan domain khusus pada proyek Firebase yang sama.
DEDICATED Paket Blaze saja. Sertifikat yang mencakup satu nama domain.

Sertifikat

Sertifikat SSL yang digunakan untuk menyediakan enkripsi ujung ke ujung untuk permintaan terhadap nama domain Anda. Certificate dapat berupa sertifikat SSL sebenarnya atau, untuk domain khusus yang baru dibuat, Hosting bermaksud untuk membuatnya.

Representasi JSON
{
  "type": enum (Type),
  "state": enum (CertState),
  "verification": {
    object (CertVerification)
  },
  "issues": [
    {
      object (Status)
    }
  ],
  "createTime": string,
  "expireTime": string
}
Bidang
type

enum ( Type )

Hanya keluaran. Jenis sertifikat.

state

enum ( CertState )

Hanya keluaran. Status sertifikat. Hanya negara bagian CERT_ACTIVE dan CERT_EXPIRING_SOON yang menyediakan cakupan SSL untuk nama domain. Jika negara sedang PROPAGATING dan Hosting memiliki sertifikat aktif untuk nama domain sebelumnya, sertifikat yang sebelumnya aktif tersebut menyediakan cakupan SSL untuk nama domain hingga sertifikat saat ini disebarkan.

verification

object ( CertVerification )

Hanya keluaran. Serangkaian tantangan ACME yang dapat Anda tambahkan ke data DNS atau penyedia hosting non-Hosting yang ada untuk mengizinkan Hosting membuat sertifikat SSL untuk nama domain Anda sebelum Anda mengarahkan lalu lintas ke hosting. Anda dapat menggunakan tantangan ini sebagai bagian dari transisi tanpa downtime dari penyedia lama Anda ke Hosting.

issues[]

object ( Status )

Hanya keluaran. Serangkaian kesalahan yang dialami Hosting saat mencoba membuat sertifikat untuk nama domain Anda. Selesaikan masalah ini untuk memastikan Hosting mampu menyediakan komunikasi yang aman dengan pengunjung situs Anda.

createTime

string ( Timestamp format)

Hanya keluaran. Waktu pembuatan sertifikat. Untuk sertifikat TEMPORARY , inilah saatnya Hosting pertama kali membuat tantangan untuk nama domain Anda. Untuk semua jenis sertifikat lainnya, ini adalah waktu pembuatan sertifikat sebenarnya.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Hanya keluaran. Waktu kedaluwarsa sertifikat. Setelah waktu tersebut, sertifikat tidak dapat lagi digunakan untuk menyediakan komunikasi yang aman antara Hosting dan pengunjung situs Anda.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z" .

Negara Bagian Cert

Status sertifikat SSL yang dimiliki Hosting untuk nama domain Anda. Ini dapat mewakili status sertifikat sebenarnya atau, untuk domain khusus baru, upaya Hosting untuk membuat sertifikat.

Enum
CERT_STATE_UNSPECIFIED Status sertifikat tidak ditentukan. Pesan tidak valid jika tidak ditentukan.
CERT_PREPARING Status awal setiap sertifikat mewakili maksud Hosting untuk membuat sertifikat, sebelum permintaan ke Otoritas Sertifikat dibuat.
CERT_VALIDATING Hosting memvalidasi apakah data DNS nama domain berada dalam status yang mengizinkan pembuatan sertifikat atas namanya.
CERT_PROPAGATING Sertifikat baru saja dibuat dan memerlukan waktu untuk diterapkan di CDN Hosting.
CERT_ACTIVE Sertifikat aktif, menyediakan koneksi aman untuk nama domain yang diwakilinya.
CERT_EXPIRING_SOON Sertifikat sudah habis masa berlakunya, semua nama domain di dalamnya akan diberikan sertifikat baru.
CERT_EXPIRED Sertifikat telah habis masa berlakunya. Hosting tidak dapat lagi menyajikan konten aman pada nama domain Anda.

Verifikasi Sertifikasi

Serangkaian tantangan ACME yang dapat Anda gunakan untuk mengizinkan Hosting membuat sertifikat SSL untuk nama domain Anda sebelum mengarahkan lalu lintas ke server Hosting. Gunakan tantangan DNS atau HTTP; tidak perlu menyediakan keduanya.

Representasi JSON
{
  "dns": {
    object (DnsUpdates)
  },
  "http": {
    object (HttpUpdate)
  }
}
Bidang
dns

object ( DnsUpdates )

Hanya keluaran. Data TXT untuk ditambahkan ke data DNS yang mengonfirmasi niat Anda untuk mengizinkan Hosting membuat sertifikat SSL untuk nama domain Anda.

http

object ( HttpUpdate )

Hanya keluaran. File untuk ditambahkan ke layanan hosting non-Hosting yang sudah ada yang mengonfirmasi niat Anda untuk mengizinkan Hosting membuat sertifikat SSL untuk nama domain Anda.

Pembaruan Http

File yang dapat Anda tambahkan ke layanan hosting non-Hosting yang sudah ada yang mengonfirmasi niat Anda untuk mengizinkan Otoritas Sertifikat Hosting membuat sertifikat SSL untuk domain Anda.

Representasi JSON
{
  "path": string,
  "desired": string,
  "discovered": string,
  "lastCheckTime": string,
  "checkError": {
    object (Status)
  }
}
Bidang
path

string

Hanya keluaran. Jalur ke file.

desired

string

Hanya keluaran. String teks untuk disajikan di jalur.

discovered

string

Hanya keluaran. Apakah Hosting dapat menemukan konten file yang diperlukan pada jalur yang ditentukan selama pemeriksaan terakhirnya.

lastCheckTime

string ( Timestamp format)

Hanya keluaran. Terakhir kali sistem Hosting memeriksa konten file.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z" .

checkError

object ( Status )

Hanya keluaran. Terjadi kesalahan saat pemeriksaan konten terakhir. Jika nol, pemeriksaan berhasil diselesaikan.

Metode

create

Membuat CustomDomain .

delete

Menghapus CustomDomain yang ditentukan.

get

Mendapatkan CustomDomain yang ditentukan.

list

Mencantumkan setiap CustomDomain yang terkait dengan situs Hosting induk yang ditentukan.

patch

Memperbarui CustomDomain yang ditentukan.

undelete

Membatalkan penghapusan CustomDomain yang ditentukan jika telah dihapus sementara.