Se você estiver criando apps Angular ou Next.js renderizados pelo servidor, confira o Firebase App Hosting de última geração, uma solução de pilha completa para frameworks modernos da Web.
Com o Firebase Hosting, você não precisa desistir dos nomes de domínio exclusivos e que têm a cara da sua marca. Você tem a opção de usar um domínio personalizado, como example.com ou
app.example.com, em vez de um domínio gerado pelo Firebase para seu
site hospedado pela plataforma.
O Firebase Hosting provisiona um certificado SSL para cada um dos seus domínios
e exibe o conteúdo em uma CDN global.
No restante deste documento, você verá as etapas para conectar seu domínio personalizado.
Configurar seu domínio para o Hosting
Verifique se você tem um site do Firebase Hosting no seu projeto do Firebase. Para isso, é necessário ter concluído o assistente "Primeiros passos" na página do Firebase Hosting do seu projeto.
Etapa 1: adicionar um domínio personalizado
Na página do Hosting do seu projeto, abra o assistente para conectar um domínio personalizado:
Se você tiver apenas um site do Hosting, clique em Adicionar domínio personalizado.
Se você tiver mais de um, clique em
Ver no site desejado e selecione Adicionar domínio personalizado.
Insira o nome de domínio personalizado que você quer conectar a seu site do Hosting.
(Opcional) Marque a caixa para redirecionar todas as solicitações no domínio personalizado para um segundo domínio especificado, de modo que example.com e www.example.com redirecionem para o mesmo conteúdo.
Clique em Continuar para configurar os registros DNS e concluir a configuração do domínio personalizado.
Etapa 2: configurar o domínio personalizado
Caso seja solicitado no assistente de configuração da opção Conectar domínio, verifique seu domínio apex.
Essas etapas garantem que seu domínio ainda não foi vinculado a um
projeto do Firebase e que você é o proprietário do domínio especificado.
No site do seu provedor de domínio, localize a página de gerenciamento de DNS.
Adicione e salve um novo registro com as seguintes entradas:
Tipo: adicionar um registro TXT.
O Firebase Hosting exige que você mantenha esse registro TXT sempre
presente nas suas configurações de DNS para comprovar sua propriedade do domínio e
autorizar o Firebase a atribuir e renovar os certificados SSL do seu site.
Seu provedor de domínio pode listar esse termo como "Tipo de registro".
Ao provar sua propriedade de um domínio apex, ou domínio raiz, você também comprova que detém todos os subdomínios dele.
Seu provedor de domínio pode listar esse termo como "Nome do host", "Nome" ou "Domínio".
Valor: copie o valor de verificação exclusivo no campo.
O Firebase Hosting verifica esse valor para provar a propriedade do seu domínio.
Seu provedor de domínio pode listar esse termo como "Dados".
Aguarde até 24 horas para a propagação de seus registros TXT atualizados e clique em Verificar.
É possível clicar em Cancelar para fechar com segurança a janela Conectar domínio e a reabrir posteriormente. Isso não afeta o tempo de propagação, mas você precisará inserir novamente seu nome de domínio ao reabrir a janela.
Após um longo tempo de propagação, é possível clicar em Verificar na janela Conectar domínio do Console do Firebase para iniciar o processo de provisionamento do certificado SSL.
Na maioria dos casos, a propagação dos seus registros e a verificação do seu domínio acontecerão em algumas horas, dependendo do seu provedor de domínio. Consulte a documentação do provedor para ter instruções detalhadas sobre como adicionar registros TXT e os tempos de propagação.
Se uma mensagem de erro aparecer depois que você clicar em Verificar, isso
significa que seus registros não foram propagados ou seus valores podem estar incorretos.
No assistente Adicionar domínio personalizado do Console do Firebase, selecione Configuração
rápida ou Configuração avançada.
A Configuração rápida pode ser usada para novos domínios que não estão recebendo
tráfego no momento ou domínios que você está tentando transferir de outro site
do Hosting. A configuração avançada pode ser usada se você já tem um domínio que recebe
solicitações em outro provedor de hospedagem e precisa de uma migração sem inatividade.
O assistente de Configuração avançada ajudará você a estabelecer um certificado SSL e
uma reivindicação de propriedade para permitir que o Hosting veicule tráfego no domínio antes
de receber tráfego.
Configuração rápida
O assistente Adicionar domínio personalizado do Console do Firebase
vai mostrar os registros necessários que precisam ser atualizados para direcionar sua página ao
Firebase Hosting. Adicione, remova e salve registros do seu domínio no
provedor de DNS com as seguintes entradas:
O host que você indicar é o domínio em que você quer exibir conteúdo. Ele pode ser um domínio ou um subdomínio apex.
Seu provedor de domínio pode listar esse termo como "Nome do host", "Nome" ou "Domínio".
Valor: atribua os endereços IP fornecidos ao valor dos registros.
Seu provedor de domínio pode listar este termo como "Dados", "Direciona para", "Conteúdo", "Endereço" ou "Endereço IP".
Aguarde o provisionamento do certificado SSL.
Isso pode levar até 24 horas após você apontar o DNS para o Firebase Hosting.
Na maioria dos casos, a propagação de registros e
o provisionamento do certificado SSL acontecerão em algumas horas,
dependendo do seu provedor de domínio.
Configuração avançada
O modo de configuração
Avançado do assistente Adicionar domínio personalizado permite que você configure o Hosting para
veicular seu domínio com segurança antes de direcionar tráfego para os servidores. Em
geral, o Hosting precisa de três elementos para veicular o tráfego em um
domínio:
Registro de propriedade: um registro TXT informa ao Hosting qual site
veicular no domínio.
Certificado SSL: um certificado específico
do domínio que permite a comunicação criptografada entre servidores do Hosting
e usuários finais
Registros IP do Hosting: um ou mais registros A e AAAA
que direcionam todas as solicitações do domínio para os servidores do Hosting.
A páginaAvançada orienta na configuração do seu domínio
para permitir que o Hosting atenda aos dois primeiros requisitos com antecedência, para
que ele esteja pronto para exibir o conteúdo correto antes de começar a receber
tráfego para o domínio.
Este assistente representa o processo como um fluxo de trabalho em duas etapas:
Preparar o domínio
Atualizar registros DNS: adicione um ou mais registros ao
seu domínio:
Propriedade: um registro TXT no formato
"hosting-site=[site_id]".
CAA (opcional): um par de registros
CAA que permitem que as autoridades
de certificação do Hosting produzam um certificado SSL para seu domínio. Presente apenas
se o Hosting descobrir registros CAA que o impeçam
de provisionar um certificado.
Configurar o certificado SSL: o assistente fornece um
desafio
ACME que as autoridades certificadoras do Hosting usarão para
criar um certificado SSL para seu domínio. É possível escolher entre um desafio DNS
ou HTTP:
Desafio DNS: acesse os sites de gerenciamento de DNS
do seu provedor de domínio. Adicione um registro TXT com a chave de subdomínio de desafio
ACME e o valor fornecido. Aguarde até 24 horas para
a propagação dos seus registros TXT.
Desafio HTTP:
faça upload do arquivo de texto fornecido em seu site
no URL especificado e verifique a existência dele.
O Hosting tentará validar os desafios do ACME
antes de solicitar a verificação da CA. Se a CA não
validar os desafios por qualquer motivo, como problemas
de serviço intermitentes. O Hosting terá que gerar um novo conjunto de
desafios para você. Após a verificação, pode levar
algumas horas para que o Hosting provisione um certificado SSL e permita que ele
seja propagado.
Direto para o Hosting
Depois que o Hosting estabelecer a propriedade do domínio e provisionar um
certificado SSL, retorne ao provedor de DNS e adicione registros DNS A/AAAA
direcionando solicitações para o Hosting:
Tipo: adicione os registros A/AAAA DNS solicitados.
Host:
insira sua chave de domínio personalizada para os dois registros.
O host que você indicar
é o domínio em que você quer exibir conteúdo.
Ele pode ser um domínio ou um subdomínio apex. Seu provedor de domínio pode listar esse termo como
"Nome do host", "Nome" ou "Domínio".
Valor: atribua um
valor a cada registro DNS A/AAAA para direcionar seu domínio aos endereços IP especificados.
Seu provedor de domínio pode listar este termo como "Dados", "Direciona
para", "Conteúdo", "Endereço" ou "Endereço IP".
Aguarde o provisionamento do certificado SSL
Depois de verificarmos a propriedade do domínio, provisionamos um certificado SSL para seu
domínio e o implantamos na nossa CDN global em 24 horas após você direcionar seus
registros de DNS A ao Firebase Hosting.
Seu domínio será listado como um dos nomes alternativos do assunto (SAN, na sigla em inglês) no
certificado SSL do FirebaseApp. Visualize este certificado usando as ferramentas de
segurança do navegador. Durante o provisionamento do domínio, talvez você veja um certificado inválido que não inclui seu nome de domínio. Isso é normal no
processo e será resolvido depois que o certificado do seu domínio estiver disponível.
Para usuários da Configuração avançada, o site será hospedado por seu provedor
anterior até que o
status de configuração na
página do Firebase Hosting
do seu projeto seja atualizado para Conectado.
Sua chave de domínio personalizada
Ao adicionar ou editar registros DNS, diferentes provedores de domínio esperam que você
insira entradas alternativas no campo Host nos seus sites de gerenciamento de
DNS. Compilamos abaixo entradas comuns dos provedores mais usados.
Consulte a documentação do seu provedor de domínio para instruções detalhadas.
Tipo de domínio
Chave de domínio personalizada
Domínio apex
Entradas comuns incluem o seguinte:
@
O nome de domínio apex (por exemplo, example.com)
O campo Host em branco
Subdomínio
Entradas comuns incluem o seguinte:
O nome completo do subdomínio (por exemplo, app.example.com)
Somente a parte do subdomínio (por exemplo, apenas app e deixando de fora .example.com)
Somente www para o subdomínio de www.example.com
Provedores de domínio comuns
Veja alguns provedores de domínio comuns e os tipos de entrada que cada um pode exigir.
Essas informações são mantidas atualizadas o máximo possível. Ainda assim, consulte a documentação do seu provedor de domínio para ver instruções detalhadas.
Cloudflare
Tipo
Host
Valor
Entradas de registro TXT do DNS
TXT
example.com
Valor de verificação fornecido no Console do Firebase
Entradas de registros A do DNS
A
example.com
199.36.158.100
A
www
199.36.158.100
Google Cloud DNS
Tipo
Host
Valor
Entradas de registro TXT do DNS
TXT
example.com
Valor de verificação fornecido no Console do Firebase
Entradas de registros A do DNS
A
example.com
199.36.158.100
A
www
199.36.158.100
NameCheap
Tipo
Host
Valor
Entradas de registro TXT do DNS
TXT
@
Valor de verificação fornecido no Console do Firebase
Entradas de registros A do DNS
A
@
199.36.158.100
A
www
199.36.158.100
Squarespace
Tipo
Host
Valor
Entradas de registro TXT do DNS
TXT
@
Valor de verificação fornecido no Console do Firebase
Entradas de registros A do DNS
A
@
199.36.158.100
A
www
199.36.158.100
Configurar descrições de status para domínios personalizados
Status
Descrição
Configuração necessária
Pode ser necessário alterar uma configuração dos registros DNS.
Na maioria dos casos, os registros A de DNS não se propagaram
do provedor de nome de domínio para os servidores do Firebase Hosting.
Dica de solução de problemas: se já se passaram mais de 24 horas, verifique se
você direcionou seus registros para o Firebase Hosting.
Em casos mais raros, principalmente se você estiver usando o fluxo de configuração avançada, os desafios do SSL podem apresentar falha porque:
Falha na verificação do certificado SSL, e o token (registros de DNS
TXT ou o arquivo enviado por upload
para seu site) agora é inválido.
Dica de solução de problemas: clique na opção Ver do domínio
e forneça o novo token ao seu domínio existente.
Pendente
Você configurou corretamente seu domínio personalizado, mas o Firebase Hosting
não provisionou um certificado SSL.
Às vezes, os seguintes problemas podem interromper a emissão de um certificado SSL para um domínio personalizado:
Seus registros da CAA são muito restritivos.
Dica de solução de problemas: verifique se as autoridades de certificação
"letsencrypt.org" and "pki.goog" têm permissão para criar certificados SSL para seu domínio.
Seu código de desafio é inválido. Se você estiver usando o fluxo
de configuração avançada e a migração falhou, seu token e o código
de desafio serão inválidos. Dica de solução de problemas: clique na opção Ver do domínio e forneça o novo token ao seu domínio existente.
Você solicitou certificados para muitos subdomínios. Dica de solução de problemas: em geral, o Firebase Hosting recomenda no máximo 20 subdomínios em um domínio apex personalizado, devido aos limites de emissão de certificados SSL.
Estamos criando o certificado
Um certificado SSL está sendo produzido para seu domínio.
Conectado
Seu domínio personalizado tem os registros de DNS apropriados e recebeu um certificado SSL. É possível exibir o conteúdo do seu site.