REST Resource: projects.sites.customDomains

Risorsa: CustomDomain

Un CustomDomain è un'entità che collega un nome di dominio a un sito di hosting Firebase. Aggiungi un CustomDomain al tuo sito per consentire all'hosting di servire il contenuto del sito in risposta alle richieste contro il tuo nome di dominio.

Rappresentazione 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,
    ...
  }
}
Campi
name

string

Solo uscita. Il nome completo di CustomDomain .

annotations

map (key: string, value: string)

Annotazioni che puoi aggiungere per lasciare metadati leggibili sia dall'uomo che dalla macchina sul tuo CustomDomain .

Un oggetto contenente un elenco di coppie "key": value . Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

createTime

string ( Timestamp format)

Solo uscita. L'ora di creazione del dominio personalizzato.

Un timestamp in formato RFC3339 UTC "Zulu", con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

updateTime

string ( Timestamp format)

Solo uscita. L'ultima volta che CustomDomain è stato aggiornato.

Un timestamp in formato RFC3339 UTC "Zulu", con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

deleteTime

string ( Timestamp format)

Solo uscita. L'ora in cui il CustomDomain è stato eliminato; null per i domini personalizzati che non sono stati eliminati. I domini personalizzati eliminati persistono per circa 30 giorni, dopodiché Hosting li rimuove completamente. Per ripristinare un dominio personalizzato eliminato, effettua una richiesta customDomains.undelete .

Un timestamp in formato RFC3339 UTC "Zulu", con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Solo uscita. Il tempo minimo prima che un CustomDomain eliminato temporaneamente venga completamente rimosso dall'Hosting; null per i domini personalizzati che non sono stati eliminati.

Un timestamp in formato RFC3339 UTC "Zulu", con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

etag

string

Solo uscita. Una stringa che rappresenta lo stato corrente del CustomDomain e consente di confermarne lo stato iniziale nelle richieste che lo modificherebbero. Utilizza il tag per garantire la coerenza quando si effettuano richieste customDomains.patch , customDomains.delete e customDomains.undelete .

hostState

enum ( HostState )

Solo uscita. L' HostState del nome di dominio a cui fa riferimento questo CustomDomain .

ownershipState

enum ( OwnershipState )

Solo uscita. OwnershipState del nome di dominio a cui fa riferimento questo CustomDomain .

requiredDnsUpdates

object ( DnsUpdates )

Solo uscita. Una serie di aggiornamenti da apportare ai record DNS del nome di dominio per consentire all'Hosting di servire contenuti sicuri per suo conto.

issues[]

object ( Status )

Solo uscita. Una serie di errori riscontrati dai sistemi di hosting durante il tentativo di stabilire la capacità dell'hosting di fornire contenuti protetti per il tuo nome di dominio. Risolvi questi problemi per garantire che il tuo CustomDomain si comporti correttamente.

certPreference

enum ( Type )

Un campo che ti consente di specificare quale tipo di certificato SSL Hosting crea per il tuo nome di dominio. I domini personalizzati del piano Spark hanno accesso solo al tipo di certificato GROUPED , mentre i domini del piano Blaze possono selezionare qualsiasi opzione.

cert

object ( Certificate )

Solo uscita. Il certificato SSL che Hosting ha per il nome di dominio di questo dominio personalizzato. Per i nuovi domini personalizzati, questo spesso rappresenta l'intento di Hosting di creare un certificato, piuttosto che un certificato vero e proprio. Controlla il campo state per ulteriori informazioni.

redirectTarget

string

Un nome di dominio verso cui questo CustomDomain dovrebbe indirizzare il traffico. Se specificato, l'hosting risponderà alle richieste contro questo dominio personalizzato con un codice HTTP 301 e instraderà invece il traffico al redirectTarget specificato.

reconciling

boolean

Solo uscita. Un campo che, se vero, indica che i sistemi di Hosting stanno tentando di far corrispondere lo stato del dominio personalizzato al tuo stato preferito. Ciò si true più frequentemente quando si esegue inizialmente il provisioning di un CustomDomain dopo una richiesta customDomains.create o quando si crea un nuovo certificato SSL per corrispondere a un certPreference aggiornato dopo una richiesta customDomains.patch .

labels

map (key: string, value: string)

Etichette utilizzate per metadati aggiuntivi e/o filtri.

Un oggetto contenente un elenco di coppie "key": value . Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

Stato host

Lo stato host del tuo nome di dominio. Lo stato dell'host viene determinato controllando ciascun indirizzo IP associato al tuo nome di dominio per vedere se sta servendo contenuti di hosting.

Enumerazioni
HOST_STATE_UNSPECIFIED Lo stato host del tuo dominio personalizzato non è specificato. Il messaggio non è valido se non è specificato.
HOST_UNHOSTED Il nome di dominio del tuo dominio personalizzato non è associato ad alcun indirizzo IP.
HOST_UNREACHABLE Il nome di dominio del tuo dominio personalizzato non può essere raggiunto. Le query DNS dei servizi di hosting per trovare gli indirizzi IP del tuo nome di dominio hanno generato errori. Per ulteriori dettagli, consulta il campo issues dell'oggetto CustomDomain .
HOST_MISMATCH Il nome di dominio del tuo dominio personalizzato ha indirizzi IP che alla fine non si risolvono in Hosting.
HOST_CONFLICT Il nome di dominio del tuo dominio personalizzato ha indirizzi IP che si riferiscono sia all'hosting che ad altri servizi. Per garantire risultati coerenti, rimuovi i record A e AAAA relativi ai servizi non di hosting.
HOST_ACTIVE Tutte le richieste relative al nome di dominio del tuo dominio personalizzato vengono servite da Hosting. Se anche OwnershipState del dominio personalizzato è ACTIVE , Hosting fornisce i contenuti del tuo sito di hosting sul nome di dominio.

Stato di proprietà

Lo stato di proprietà del tuo dominio. Un dominio può essere di proprietà di al massimo un sito hosting Firebase. La proprietà può essere determinata in due modi:

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

Se il tuo CustomDomain è in uno OwnershipState diverso da OWNERSHIP_ACTIVE da più di 30 giorni e non viene aggiornato da almeno 30 giorni, i sistemi di proprietà di Hosting cancellano il CustomDomain . Per ripristinare un CustomDomain eliminato, effettua una richiesta customDomains.undelete .

Enumerazioni
OWNERSHIP_STATE_UNSPECIFIED Lo stato di proprietà del tuo dominio personalizzato non è specificato. Questo non dovrebbe mai accadere.
OWNERSHIP_MISSING Il nome di dominio del tuo dominio personalizzato non ha record di proprietà relativi all'hosting; nessun progetto Firebase ha l'autorizzazione ad agire per conto del nome di dominio.
OWNERSHIP_UNREACHABLE Il nome di dominio del tuo dominio personalizzato non può essere raggiunto. Le query DNS dei servizi di hosting per trovare i record di proprietà del tuo nome di dominio hanno generato errori. Per ulteriori dettagli, consulta il campo issues dell'oggetto CustomDomain .
OWNERSHIP_MISMATCH Il nome di dominio del tuo dominio personalizzato è di proprietà di un altro progetto Firebase. Rimuovi i record TXT in conflitto e sostituiscili con record specifici del progetto per il tuo progetto Firebase corrente.
OWNERSHIP_CONFLICT Il nome di dominio del tuo dominio personalizzato presenta record TXT in conflitto che indicano la proprietà sia del tuo attuale progetto Firebase che di un altro progetto. Rimuovi i record di proprietà dell'altro progetto per garantire la proprietà del progetto corrente.
OWNERSHIP_PENDING I record DNS del tuo dominio personalizzato sono configurati correttamente. L'hosting trasferirà la proprietà del tuo dominio a questo CustomDomain entro 24 ore.
OWNERSHIP_ACTIVE Il nome di dominio del tuo dominio personalizzato dispone di record TXT che concedono al progetto l'autorizzazione ad agire per suo conto.

DnsUpdates

Una serie di aggiornamenti dei record DNS che dovresti apportare per consentire all'hosting di fornire contenuti sicuri in risposta alle richieste contro il tuo nome di dominio. Questi aggiornamenti presentano lo stato corrente dei record DNS del tuo nome di dominio l'ultima volta che Hosting li ha interrogati e l'insieme di record desiderato che Hosting deve vedere prima che il tuo dominio personalizzato possa essere completamente attivo.

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

object ( DnsRecordSet )

L'insieme di record DNS che Hosting scopre durante l'ispezione di un dominio.

desired[]

object ( DnsRecordSet )

L'insieme di record DNS necessari all'hosting per fornire contenuti sicuri sul dominio.

checkTime

string ( Timestamp format)

L'ultima volta che Hosting ha controllato i record DNS del tuo dominio personalizzato.

Un timestamp in formato RFC3339 UTC "Zulu", con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

DnsRecordSet

Un insieme di record DNS rilevanti per la configurazione e il mantenimento di un dominio personalizzato in Firebase Hosting.

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

string

Solo uscita. Il nome di dominio a cui appartiene il set di record.

checkError

object ( Status )

Solo uscita. Un errore riscontrato dai servizi di hosting durante l'interrogazione dei record DNS del tuo nome di dominio. Nota: l'hosting ignora gli errori NXDOMAIN , poiché generalmente significano solo che un nome di dominio non è stato ancora impostato.

records[]

object ( DnsRecord )

Solo uscita. Record sul dominio.

DNSRecord

I record DNS sono record di risorse che definiscono il modo in cui i sistemi e i servizi dovrebbero comportarsi quando gestiscono le richieste per un nome di dominio. Ad esempio, quando aggiungi record A ai record DNS del tuo nome di dominio, stai informando altri sistemi (come i browser web dei tuoi utenti) di contattare quegli indirizzi IPv4 per recuperare risorse rilevanti per il tuo nome di dominio (come i file del tuo sito hosting ).

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

string

Solo uscita. Il nome di dominio a cui appartiene il record, ad esempio foo.bar.com. .

type

enum ( Type )

Solo uscita. Il tipo del record, che determina quali dati contiene il record.

rdata

string

Solo uscita. I dati del verbale. Il significato del valore dipende dal tipo di record: - A e AAAA: indirizzi IP del nome a dominio. - CNAME: un altro dominio per verificare i record. - TXT: Stringhe di testo arbitrarie associate al nome a dominio. L'hosting utilizza i record TXT per determinare quali progetti Firebase hanno l'autorizzazione ad agire per conto del nome di dominio. - CAA: flag, tag e valore del record, ad esempio 0 issue "pki.goog" .

requiredAction

enum ( Action )

Solo uscita. Un'enumerazione che indica l'azione richiesta per questo record.

Tipo

Il tipo di record DNS, inclusi A , TXT , AAAA e CAA .

Enumerazioni
TYPE_UNSPECIFIED Il tipo del record non è specificato. Il messaggio non è valido se non è specificato.
A Un record A , come definito nella RFC 1035 . Un record determina verso quali indirizzi IPv4 un nome di dominio indirizza il traffico.
CNAME Un record CNAME , come definito nella RFC 1035 . I record CNAME o Canonical Name associano un nome di dominio a un nome di dominio canonico diverso. Se è presente un record CNAME , dovrebbe essere l'unico record sul nome di dominio.
TXT Un record TXT , come definito nella RFC 1035 . I record TXT contengono dati di testo arbitrari su un nome di dominio. L'hosting utilizza i record TXT per stabilire quale progetto Firebase ha il permesso di agire su un nome di dominio.
AAAA Un record AAAA, come definito nei record AAAA RFC 3596 , determina verso quali indirizzi IPv6 un nome di dominio indirizza il traffico.
CAA

Un record CAA, come definito nella RFC 6844 . I record CAA, o Certificate Authority Authorization, determinano quali autorità di certificazione (organizzazioni che emettono certificati SSL) sono autorizzate a coniare un certificato per il nome di dominio. Firebase Hosting utilizza pki.goog come CA principale.

La CAA registra a cascata. Un record CAA su foo.com si applica anche a bar.foo.com a meno che bar.foo.com non disponga di un proprio set di record CAA.

I record CAA sono facoltativi. Se un nome di dominio e i suoi genitori non hanno record CAA, tutte le CA sono autorizzate a coniare certificati per suo conto. In generale, Hosting ti chiede di modificare i record CAA solo quando ciò è necessario per sbloccare la creazione del certificato SSL.

Azione

L'azione è un tipo di azione che dovresti intraprendere su questo record DNS per configurare il tuo dominio per l'utilizzo con Firebase Hosting.

Enumerazioni
NONE Nessuna azione necessaria.
ADD Aggiungi questo record ai tuoi record DNS.
REMOVE Rimuovi questo record dai tuoi record DNS.

Tipo

Il tipo di certificato. Determina il modo in cui i sistemi di hosting gestiscono la creazione e la manutenzione del certificato.

Enumerazioni
TYPE_UNSPECIFIED Il tipo di certificato non è specificato. Il messaggio non è valido se non è specificato.
TEMPORARY Un tipo di certificato di breve durata che copre temporaneamente un nome di dominio, mentre l'Hosting crea un certificato più permanente.
GROUPED Il certificato standard per i domini personalizzati del piano Spark.
PROJECT_GROUPED Solo piano Blaze. Un certificato che copre da 1 a 100 nomi di dominio con domini personalizzati sullo stesso progetto Firebase.
DEDICATED Solo piano Blaze. Un certificato che copre un singolo nome di dominio.

Certificato

Un certificato SSL utilizzato per fornire la crittografia end-to-end per le richieste relative al tuo nome di dominio. Un Certificate può essere un vero e proprio certificato SSL o, per i domini personalizzati appena creati, l'intento di Hosting di crearne uno.

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

enum ( Type )

Solo uscita. Il tipo di certificato.

state

enum ( CertState )

Solo uscita. Lo stato del certificato. Solo gli stati CERT_ACTIVE e CERT_EXPIRING_SOON forniscono la copertura SSL per un nome di dominio. Se lo stato è PROPAGATING e l'hosting aveva in precedenza un certificato attivo per il nome di dominio, quel certificato precedentemente attivo fornisce la copertura SSL per il nome di dominio fino alla propagazione del certificato corrente.

verification

object ( CertVerification )

Solo uscita. Una serie di sfide ACME che puoi aggiungere ai tuoi record DNS o al provider di hosting esistente non hosting per consentire all'hosting di creare un certificato SSL per il tuo nome di dominio prima di indirizzare il traffico verso l'hosting. Puoi utilizzare queste sfide come parte di una transizione senza tempi di inattività dal tuo vecchio provider all'hosting.

issues[]

object ( Status )

Solo uscita. Una serie di errori riscontrati da Hosting durante il tentativo di creare un certificato per il tuo nome di dominio. Risolvi questi problemi per garantire che l'hosting sia in grado di fornire comunicazioni sicure con i visitatori del tuo sito.

createTime

string ( Timestamp format)

Solo uscita. L'ora di creazione del certificato. Per i certificati TEMPORARY questo è il momento in cui Hosting ha generato per la prima volta le sfide per il tuo nome di dominio. Per tutti gli altri tipi di certificato, è l'ora in cui è stato creato il certificato vero e proprio.

Un timestamp in formato RFC3339 UTC "Zulu", con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Solo uscita. La data di scadenza del certificato. Trascorso questo tempo il certificato non potrà più essere utilizzato per garantire una comunicazione sicura tra l'Hosting ed i visitatori del tuo sito.

Un timestamp in formato RFC3339 UTC "Zulu", con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

CertState

Lo stato del certificato SSL che Hosting ha per il tuo nome a dominio. Questo può rappresentare lo stato del certificato attuale o, per i nuovi domini personalizzati, il tentativo di Hosting di creare un certificato.

Enumerazioni
CERT_STATE_UNSPECIFIED Lo stato del certificato non è specificato. Il messaggio non è valido se non è specificato.
CERT_PREPARING Lo stato iniziale di ogni certificato, rappresenta l'intento di Hosting di creare un certificato, prima che vengano effettuate le richieste ad un'Autorità di Certificazione.
CERT_VALIDATING L'hosting verifica se i record DNS di un nome di dominio si trovano in uno stato che consente la creazione di certificati per suo conto.
CERT_PROPAGATING Il certificato è stato creato da poco e necessita di tempo per propagarsi nella CDN dell'Hosting.
CERT_ACTIVE Il certificato è attivo e fornisce connessioni sicure per i nomi di dominio che rappresenta.
CERT_EXPIRING_SOON Il certificato sta per scadere, a tutti i nomi di dominio su di esso verranno assegnati nuovi certificati.
CERT_EXPIRED Il certificato è scaduto. L'hosting non può più fornire contenuti protetti sul tuo nome di dominio.

Verifica del certificato

Una serie di sfide ACME che puoi utilizzare per consentire all'hosting di creare un certificato SSL per il tuo nome di dominio prima di indirizzare il traffico ai server di hosting. Utilizza la verifica DNS o HTTP; non è necessario fornirli entrambi.

Rappresentazione JSON
{
  "dns": {
    object (DnsUpdates)
  },
  "http": {
    object (HttpUpdate)
  }
}
Campi
dns

object ( DnsUpdates )

Solo uscita. Un record TXT da aggiungere ai tuoi record DNS che conferma la tua intenzione di lasciare che Hosting crei un certificato SSL per il tuo nome di dominio.

http

object ( HttpUpdate )

Solo uscita. Un file da aggiungere al tuo servizio di hosting esistente, non Hosting, che conferma la tua intenzione di consentire a Hosting di creare un certificato SSL per il tuo nome di dominio.

HttpUpdate

Un file che puoi aggiungere al tuo servizio di hosting esistente non Hosting che conferma la tua intenzione di consentire alle autorità di certificazione di Hosting di creare un certificato SSL per il tuo dominio.

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

string

Solo uscita. Il percorso del file.

desired

string

Solo uscita. Una stringa di testo da servire nel percorso.

discovered

string

Solo uscita. Se l'Hosting è riuscito a trovare il contenuto del file richiesto nel percorso specificato durante l'ultimo controllo.

lastCheckTime

string ( Timestamp format)

Solo uscita. L'ultima volta che i sistemi di hosting hanno controllato il contenuto del file.

Un timestamp in formato RFC3339 UTC "Zulu", con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

checkError

object ( Status )

Solo uscita. Si è verificato un errore durante l'ultimo controllo dei contenuti. Se null, il controllo è stato completato con successo.

Metodi

create

Crea un CustomDomain .

delete

Elimina il CustomDomain specificato.

get

Ottiene l' CustomDomain specificato.

list

Elenca ogni CustomDomain associato al sito di hosting padre specificato.

patch

Aggiorna il CustomDomain specificato.

undelete

Annulla l'eliminazione del CustomDomain specificato se è stato eliminato temporaneamente.