REST Resource: projects.sites.customDomains

Zasób: CustomDomain

CustomDomain to jednostka łącząca nazwę domeny z witryną Firebase Hosting. Dodaj CustomDomain do swojej witryny, aby umożliwić Hostingowi obsługę zawartości witryny w odpowiedzi na żądania kierowane do nazwy Twojej domeny.

Reprezentacja 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,
    ...
  }
}
Pola
name

string

Tylko wyjście. W pełni kwalifikowana nazwa domeny CustomDomain .

annotations

map (key: string, value: string)

Adnotacje, które możesz dodać, aby pozostawić czytelne dla człowieka i maszyny metadane dotyczące Twojej CustomDomain .

Obiekt zawierający listę par "key": value . Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

createTime

string ( Timestamp format)

Tylko wyjście. Czas utworzenia domeny niestandardowej.

Znacznik czasu w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundową i maksymalnie dziewięcioma cyframi ułamkowymi. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z" .

updateTime

string ( Timestamp format)

Tylko wyjście. Ostatnia aktualizacja CustomDomain .

Znacznik czasu w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundową i maksymalnie dziewięcioma cyframi ułamkowymi. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z" .

deleteTime

string ( Timestamp format)

Tylko wyjście. Godzina usunięcia CustomDomain ; null dla domen niestandardowych, które nie zostały usunięte. Usunięte domeny niestandardowe pozostają przez około 30 dni, po czym Hosting całkowicie je usuwa. Aby przywrócić usuniętą domenę niestandardową, złóż żądanie customDomains.undelete .

Znacznik czasu w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundową i maksymalnie dziewięcioma cyframi ułamkowymi. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Tylko wyjście. Minimalny czas, po którym nietrwało usunięta CustomDomain zostanie całkowicie usunięta z Hostingu; null dla domen niestandardowych, które nie zostały usunięte.

Znacznik czasu w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundową i maksymalnie dziewięcioma cyframi ułamkowymi. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z" .

etag

string

Tylko wyjście. Ciąg reprezentujący bieżący stan CustomDomain i umożliwiający potwierdzenie jej stanu początkowego w żądaniach, które mogłyby ją zmodyfikować. Użyj tego tagu, aby zapewnić spójność podczas tworzenia żądań customDomains.patch , customDomains.delete i customDomains.undelete .

hostState

enum ( HostState )

Tylko wyjście. HostState nazwy domeny, do której odnosi się ta CustomDomain .

ownershipState

enum ( OwnershipState )

Tylko wyjście. OwnershipState nazwy domeny, do której odnosi się ta CustomDomain .

requiredDnsUpdates

object ( DnsUpdates )

Tylko wyjście. Zestaw aktualizacji, które należy wprowadzić w rekordach DNS nazwy domeny, aby Hosting mógł udostępniać bezpieczne treści w jej imieniu.

issues[]

object ( Status )

Tylko wyjście. Zestaw błędów napotkanych przez systemy hostingowe podczas próby ustalenia zdolności Hostingu do udostępniania bezpiecznej zawartości dla Twojej nazwy domeny. Rozwiąż te problemy, aby mieć pewność, że Twoja CustomDomain działa prawidłowo.

certPreference

enum ( Type )

Pole, które pozwala określić, jaki typ certyfikatu SSL Hosting utworzy dla Twojej nazwy domeny. Domeny niestandardowe planu Spark mają dostęp tylko do typu certyfikatu GROUPED , natomiast domeny planu Blaze mogą wybrać dowolną opcję.

cert

object ( Certificate )

Tylko wyjście. Certyfikat SSL, jaki Hosting posiada dla nazwy domeny tej niestandardowej domeny. W przypadku nowych domen niestandardowych często oznacza to, że Hosting zamierza utworzyć certyfikat, a nie sam certyfikat. Więcej informacji znajdziesz w polu state .

redirectTarget

string

Nazwa domeny, do której ta CustomDomain powinna kierować ruch. Jeśli jest określony, Hosting będzie odpowiadać na żądania kierowane do tej domeny niestandardowej za pomocą kodu HTTP 301 i zamiast tego kierować ruch do określonego redirectTarget .

reconciling

boolean

Tylko wyjście. Pole, które, jeśli jest prawdziwe, wskazuje, że systemy Hostingu próbują dostosować stan domeny niestandardowej do preferowanego stanu. true tak najczęściej podczas początkowego udostępniania CustomDomain po żądaniu customDomains.create lub podczas tworzenia nowego certyfikatu SSL zgodnego ze zaktualizowaną certPreference po żądaniu customDomains.patch .

labels

map (key: string, value: string)

Etykiety używane do dodatkowych metadanych i/lub filtrowania.

Obiekt zawierający listę par "key": value . Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

Stan Gospodarza

Stan hosta Twojej nazwy domeny. Stan hosta jest określany poprzez sprawdzenie każdego adresu IP powiązanego z nazwą Twojej domeny, aby sprawdzić, czy obsługuje on zawartość Hostingu.

Wyliczenia
HOST_STATE_UNSPECIFIED Stan hosta Twojej domeny niestandardowej jest nieokreślony. Wiadomość jest nieprawidłowa, jeśli nie określono tego.
HOST_UNHOSTED Nazwa domeny Twojej domeny niestandardowej nie jest powiązana z żadnymi adresami IP.
HOST_UNREACHABLE Nazwa domeny Twojej domeny niestandardowej jest nieosiągalna. Zapytania DNS usług hostingowych mające na celu znalezienie adresów IP Twojej domeny zakończyły się błędami. Więcej szczegółów znajdziesz w polu issues obiektu CustomDomain .
HOST_MISMATCH Nazwa domeny Twojej niestandardowej domeny zawiera adresy IP, które ostatecznie nie są rozpoznawane w Hostingu.
HOST_CONFLICT Nazwa domeny Twojej niestandardowej domeny zawiera adresy IP, które odpowiadają zarówno hostingowi, jak i innym usługom. Aby zapewnić spójne wyniki, usuń rekordy A i AAAA związane z usługami innymi niż hosting.
HOST_ACTIVE Wszystkie żądania kierowane do domeny niestandardowej są obsługiwane przez Hosting. Jeśli OwnershipState domeny niestandardowej jest również ACTIVE , Hosting udostępnia zawartość Twojej witryny hostingowej w nazwie domeny.

Stan własności

Stan własności Twojej domeny. Domena może być własnością co najwyżej jednej witryny hostingowej Firebase. Własność można ustalić na dwa sposoby:

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

Jeśli Twoja CustomDomain znajduje się w OwnershipState innym niż OWNERSHIP_ACTIVE od ponad 30 dni i nie była aktualizowana przez co najmniej 30 dni, systemy własności Hostingu usuwają CustomDomain . Aby przywrócić usuniętą CustomDomain , złóż żądanie customDomains.undelete .

Wyliczenia
OWNERSHIP_STATE_UNSPECIFIED Stan własności Twojej domeny niestandardowej jest nieokreślony. To nigdy nie powinno się zdarzyć.
OWNERSHIP_MISSING Nazwa domeny Twojej domeny niestandardowej nie ma żadnych zapisów własności związanych z hostingiem; żaden projekt Firebase nie ma uprawnień do działania w imieniu nazwy domeny.
OWNERSHIP_UNREACHABLE Nazwa domeny Twojej domeny niestandardowej jest nieosiągalna. Zapytania DNS usług hostingowych mające na celu znalezienie zapisów własności Twojej nazwy domeny spowodowały błędy. Więcej szczegółów znajdziesz w polu issues obiektu CustomDomain .
OWNERSHIP_MISMATCH Nazwa domeny Twojej domeny niestandardowej jest własnością innego projektu Firebase. Usuń sprzeczne rekordy TXT i zastąp je rekordami specyficznymi dla bieżącego projektu Firebase.
OWNERSHIP_CONFLICT Nazwa domeny Twojej domeny niestandardowej zawiera sprzeczne rekordy TXT , które wskazują, że jesteś właścicielem zarówno bieżącego projektu Firebase, jak i innego projektu. Usuń rekordy własności innego projektu, aby przyznać bieżącą własność projektu.
OWNERSHIP_PENDING Rekordy DNS Twojej domeny niestandardowej są poprawnie skonfigurowane. Hosting przeniesie własność Twojej domeny na tę CustomDomain w ciągu 24 godzin.
OWNERSHIP_ACTIVE Nazwa domeny Twojej domeny niestandardowej zawiera rekordy TXT , które przyznają projektowi uprawnienia do działania w jej imieniu.

Aktualizacje DNS

Zestaw aktualizacji rekordów DNS, które należy wprowadzić, aby Hosting mógł udostępniać bezpieczne treści w odpowiedzi na żądania kierowane do Twojej nazwy domeny. Aktualizacje te przedstawiają bieżący stan rekordów DNS Twojej nazwy domeny w momencie, gdy Hosting wysyłał do nich ostatnie zapytanie, oraz żądany zestaw rekordów, które Hosting musi zobaczyć, zanim Twoja domena niestandardowa będzie mogła być w pełni aktywna.

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

object ( DnsRecordSet )

Zestaw rekordów DNS, które Hosting odkrył podczas sprawdzania domeny.

desired[]

object ( DnsRecordSet )

Zestaw rekordów DNS Hosting musi obsługiwać bezpieczne treści w domenie.

checkTime

string ( Timestamp format)

Ostatni raz Hosting sprawdzał rekordy DNS Twojej domeny niestandardowej.

Znacznik czasu w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundową i maksymalnie dziewięcioma cyframi ułamkowymi. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z" .

Zestaw rekordów Dns

Zestaw rekordów DNS związanych z konfiguracją i utrzymaniem domeny niestandardowej w Firebase Hosting.

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

string

Tylko wyjście. Nazwa domeny, do której odnosi się zestaw rekordów.

checkError

object ( Status )

Tylko wyjście. Wystąpił błąd usług hostingowych podczas sprawdzania rekordów DNS Twojej domeny. Uwaga: Hosting ignoruje błędy NXDOMAIN , ponieważ zazwyczaj oznaczają one po prostu, że nazwa domeny nie została jeszcze skonfigurowana.

records[]

object ( DnsRecord )

Tylko wyjście. Zapisy w domenie.

Rekord Dns

Rekordy DNS to rekordy zasobów, które definiują, jak powinny zachowywać się systemy i usługi podczas obsługi żądań dotyczących nazwy domeny. Na przykład, dodając rekordy A do rekordów DNS nazwy domeny, informujesz inne systemy (takie jak przeglądarki internetowe użytkowników), aby skontaktowały się z tymi adresami IPv4 w celu pobrania zasobów istotnych dla nazwy Twojej domeny (takich jak pliki witryny hostingowej ).

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

string

Tylko wyjście. Nazwa domeny, której dotyczy rekord, np. foo.bar.com. .

type

enum ( Type )

Tylko wyjście. Typ rekordu, który określa, jakie dane zawiera rekord.

rdata

string

Tylko wyjście. Dane rekordu. Znaczenie wartości zależy od typu rekordu: - A i AAAA: adresy IP dla nazwy domeny. - CNAME: Kolejna domena do sprawdzania rekordów. - TXT: dowolne ciągi tekstowe powiązane z nazwą domeny. Hosting używa rekordów TXT do określenia, które projekty Firebase mają uprawnienia do działania w imieniu nazwy domeny. - CAA: Flagi, znacznik i wartość rekordu, np 0 issue "pki.goog" .

requiredAction

enum ( Action )

Tylko wyjście. Wyliczenie wskazujące wymaganą akcję dla tego rekordu.

Typ

Typ rekordu DNS, w tym A , TXT , AAAA i CAA .

Wyliczenia
TYPE_UNSPECIFIED Typ rekordu nie jest określony. Wiadomość jest nieprawidłowa, jeśli nie określono tego.
A Rekord A zgodnie z definicją w dokumencie RFC 1035 . Rekordy określają, do jakich adresów IPv4 dana nazwa domeny kieruje ruch.
CNAME Rekord CNAME zgodnie z definicją w RFC 1035 . Rekordy CNAME lub nazwa kanoniczna odwzorowują nazwę domeny na inną, kanoniczną nazwę domeny. Jeśli istnieje rekord CNAME , powinien to być jedyny rekord w nazwie domeny.
TXT Rekord TXT zgodnie z definicją w dokumencie RFC 1035 . Rekordy TXT przechowują dowolne dane tekstowe dotyczące nazwy domeny. Hosting używa rekordów TXT do ustalenia, który projekt Firebase ma uprawnienia do działania na nazwie domeny.
AAAA Rekord AAAA, zgodnie z definicją w rekordach AAAA RFC 3596, określa, do jakich adresów IPv6 dana nazwa domeny kieruje ruch.
CAA

Rekord CAA zgodnie z definicją w dokumencie RFC 6844 . Zapisy CAA, czyli autoryzacja urzędu certyfikacji, określają, które urzędy certyfikacji (organizacje tworzące certyfikaty SSL) są upoważnione do wybijania certyfikatu dla nazwy domeny. Hosting Firebase używa pki.goog jako głównego urzędu certyfikacji.

CAA rejestruje kaskadę. Rekord CAA na foo.com dotyczy również bar.foo.com , chyba że bar.foo.com ma własny zestaw rekordów CAA.

Rekordy CAA są opcjonalne. Jeśli nazwa domeny i jej podmioty nadrzędne nie mają rekordów CAA, wszystkie urzędy certyfikacji są upoważnione do wybijania certyfikatów w jej imieniu. Ogólnie rzecz biorąc, Hosting prosi Cię o modyfikację rekordów CAA tylko wtedy, gdy jest to wymagane do odblokowania tworzenia certyfikatu SSL.

Działanie

Akcja to rodzaj akcji, którą powinieneś podjąć na tym rekordzie DNS, aby skonfigurować swoją domenę do użytku z Firebase Hosting.

Wyliczenia
NONE Nie jest konieczne żadne działanie.
ADD Dodaj ten rekord do swoich rekordów DNS.
REMOVE Usuń ten rekord ze swoich rekordów DNS.

Typ

Typ certyfikatu. Określa sposób, w jaki systemy hostingowe radzą sobie z tworzeniem i obsługą certyfikatu.

Wyliczenia
TYPE_UNSPECIFIED Typ certyfikatu jest nieokreślony. Wiadomość jest nieprawidłowa, jeśli nie określono tego.
TEMPORARY Krótkotrwały typ certyfikatu, który tymczasowo obejmuje nazwę domeny, podczas gdy Hosting tworzy bardziej trwały certyfikat.
GROUPED Standardowy certyfikat dla niestandardowych domen planu Spark.
PROJECT_GROUPED Tylko plan Blaze. Certyfikat obejmujący od 1 do 100 nazw domen z domenami niestandardowymi w tym samym projekcie Firebase.
DEDICATED Tylko plan Blaze. Certyfikat obejmujący pojedynczą nazwę domeny.

Certyfikat

Certyfikat SSL używany do kompleksowego szyfrowania żądań kierowanych do Twojej nazwy domeny. Certificate może być rzeczywistym certyfikatem SSL lub, w przypadku nowo tworzonych domen niestandardowych, zamiarem Hostingu jego utworzenia.

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

enum ( Type )

Tylko wyjście. Typ certyfikatu.

state

enum ( CertState )

Tylko wyjście. Stan certyfikatu. Tylko stany CERT_ACTIVE i CERT_EXPIRING_SOON zapewniają obsługę protokołu SSL dla nazwy domeny. Jeśli stan to PROPAGATING i Hosting miał już wcześniej aktywny certyfikat dla nazwy domeny, ten poprzednio aktywny certyfikat zapewnia obsługę protokołu SSL dla nazwy domeny do czasu propagacji bieżącego certyfikatu.

verification

object ( CertVerification )

Tylko wyjście. Zestaw wyzwań ACME, które możesz dodać do swoich rekordów DNS lub istniejącego dostawcy hostingu innego niż Hosting, aby umożliwić Hostingowi utworzenie certyfikatu SSL dla Twojej nazwy domeny przed skierowaniem ruchu w stronę hostingu. Możesz wykorzystać te wyzwania w ramach przejścia ze starego dostawcy na Hosting bez przestojów.

issues[]

object ( Status )

Tylko wyjście. Zestaw błędów napotkanych przez Hosting podczas próby utworzenia certyfikatu dla Twojej nazwy domeny. Rozwiąż te problemy, aby mieć pewność, że Hosting będzie w stanie zapewnić bezpieczną komunikację z osobami odwiedzającymi Twoją witrynę.

createTime

string ( Timestamp format)

Tylko wyjście. Czas utworzenia certyfikatu. W przypadku certyfikatów TEMPORARY jest to czas, w którym Hosting po raz pierwszy wygenerował wyzwania dla Twojej nazwy domeny. W przypadku wszystkich innych typów certyfikatów jest to godzina utworzenia rzeczywistego certyfikatu.

Znacznik czasu w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundową i maksymalnie dziewięcioma cyframi ułamkowymi. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z" .

expireTime

string ( Timestamp format)

Tylko wyjście. Czas ważności certyfikatu. Po tym czasie certyfikatu nie można już używać do zapewnienia bezpiecznej komunikacji pomiędzy Hostingiem a osobami odwiedzającymi Twoją witrynę.

Znacznik czasu w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundową i maksymalnie dziewięcioma cyframi ułamkowymi. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z" .

Stan certyfikatu

Stan certyfikatu SSL, jaki Hosting posiada dla Twojej nazwy domeny. Może to reprezentować stan faktycznego certyfikatu lub, w przypadku nowych domen niestandardowych, próbę utworzenia certyfikatu przez Hosting.

Wyliczenia
CERT_STATE_UNSPECIFIED Stan certyfikatu jest nieokreślony. Wiadomość jest nieprawidłowa, jeśli nie określono tego.
CERT_PREPARING Początkowy stan każdego certyfikatu reprezentuje zamiar Hostingu dotyczący utworzenia certyfikatu, zanim zostaną przesłane żądania do urzędu certyfikacji.
CERT_VALIDATING Hosting sprawdza, czy rekordy DNS nazwy domeny są w stanie umożliwiającym utworzenie certyfikatu w jej imieniu.
CERT_PROPAGATING Certyfikat został niedawno utworzony i potrzebuje czasu na propagację w CDN Hostingu.
CERT_ACTIVE Certyfikat jest aktywny i zapewnia bezpieczne połączenia dla nazw domen, które reprezentuje.
CERT_EXPIRING_SOON Certyfikat wygasa, wszystkie znajdujące się na nim nazwy domen otrzymają nowe certyfikaty.
CERT_EXPIRED Certyfikat wygasł. Hosting nie może już udostępniać bezpiecznej zawartości w Twojej nazwie domeny.

Weryfikacja certyfikatu

Zestaw wyzwań ACME, których możesz użyć, aby umożliwić Hostingowi utworzenie certyfikatu SSL dla Twojej nazwy domeny przed skierowaniem ruchu na serwery Hostingu. Użyj wyzwania DNS lub HTTP; nie jest konieczne zapewnienie obu.

Reprezentacja JSON
{
  "dns": {
    object (DnsUpdates)
  },
  "http": {
    object (HttpUpdate)
  }
}
Pola
dns

object ( DnsUpdates )

Tylko wyjście. Rekord TXT do dodania do rekordów DNS, potwierdzający Twoją wolę umożliwienia Hostingowi utworzenia certyfikatu SSL dla Twojej nazwy domeny.

http

object ( HttpUpdate )

Tylko wyjście. Plik do dodania do istniejącej usługi hostingowej innej niż Hosting, potwierdzający Twoją wolę umożliwienia Hostingowi utworzenia certyfikatu SSL dla Twojej nazwy domeny.

HttpUpdate

Plik, który możesz dodać do istniejącej usługi hostingowej innej niż Hosting, potwierdzający Twoją wolę zezwolenia urzędom certyfikacji Hostingu na utworzenie certyfikatu SSL dla Twojej domeny.

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

string

Tylko wyjście. Ścieżka do pliku.

desired

string

Tylko wyjście. Ciąg tekstowy, który będzie wyświetlany w ścieżce.

discovered

string

Tylko wyjście. Czy Hostingowi podczas ostatniego sprawdzania udało się znaleźć wymaganą zawartość pliku w podanej ścieżce.

lastCheckTime

string ( Timestamp format)

Tylko wyjście. Ostatni raz systemy hostingowe sprawdzały zawartość pliku.

Znacznik czasu w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundową i maksymalnie dziewięcioma cyframi ułamkowymi. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z" .

checkError

object ( Status )

Tylko wyjście. Wystąpił błąd podczas ostatniego sprawdzania zawartości. Jeśli ma wartość null, sprawdzenie zakończyło się pomyślnie.

Metody

create

Tworzy CustomDomain .

delete

Usuwa określoną CustomDomain .

get

Pobiera określoną CustomDomain .

list

Wyświetla listę każdej CustomDomain powiązanej z określoną nadrzędną witryną hostingową.

patch

Aktualizuje określoną CustomDomain .

undelete

Cofa usunięcie określonej CustomDomain , jeśli została ona usunięta nietrwale.