Ir para o conteúdo

Vinculação de Domínio Personalizado no Firebase Hosting

Autor: Fábio Santana
Data: 03/09/2026
Categoria: Tutoriais / Infraestrutura

Este documento descreve o processo de configuração e vinculação do domínio personalizado https://wiki.nispg.com.br/ ao site de documentação hospedado no Firebase Hosting (gestao-conhecimento-1212f.web.app), mantendo a integridade dos serviços preexistentes no mesmo domínio raiz.


🎯 Contexto e Cenário

O domínio raiz nispg.com.br já possui serviços em produção vinculados ao IP fixo 84.46.250.76:

  • nispg.com.br (Tipo A -> 84.46.250.76)
  • www.nispg.com.br (Tipo A -> 84.46.250.76)
  • esus.nispg.com.br (Tipo A -> 84.46.250.76 - Sistema e-SUS APS)

Para publicar a base de conhecimento sem impactar o servidor atual nem causar indisponibilidade em sistemas críticos, adotou-se o subdomínio dedicado wiki.nispg.com.br, delegado diretamente para a infraestrutura de CDN global do Firebase.


📐 Arquitetura de Resolução DNS

O diagrama abaixo ilustra como as requisições são distribuídas sem conflitos:

graph TD
    User[Usuário / Navegador] --> DNS{Consulta DNS nispg.com.br}

    subgraph Servidor Dedicado / VPS
        DNS -->|nispg.com.br / www| SrvMain[IP: 84.46.250.76<br/>Site Institucional]
        DNS -->|esus.nispg.com.br| SrvEsus[IP: 84.46.250.76<br/>Sistema e-SUS APS]
    end

    subgraph Firebase Hosting & Google Cloud
        DNS -->|wiki.nispg.com.br CNAME| FbEdge[gestao-conhecimento-1212f.web.app]
        FbEdge --> CDN[Google Edge / Varnish CDN]
        CDN --> SSL[Certificado SSL Automático Let's Encrypt / GTS]
        SSL --> Site[MkDocs Material - Base de Conhecimento]
    end

🛠️ Passo a Passo da Configuração

1. Adicionar o Domínio no Firebase Hosting

  1. Acesse o Firebase Console e selecione o projeto gestao-conhecimento-1212f.
  2. No menu lateral esquerdo, navegue até Build > Hosting (ou Hospedagem).
  3. Na seção de domínios, clique em Adicionar domínio personalizado (Add custom domain).
  4. Informe o endereço completo do subdomínio:
    wiki.nispg.com.br
    
  5. O Firebase exibirá os dados necessários para o apontamento DNS (solicitando a entrada CNAME).

2. Configurar a Zona de DNS (Registro.br)

Acesse o painel de gerenciamento do domínio nispg.com.br (no Registro.br ou provedor DNS autoritativo correspondente) e crie o seguinte registro:

Campo Valor Configurado Descrição
Nome / Entrada wiki Subdomínio desejado
Tipo CNAME Apelido canônico
Dados / Destino gestao-conhecimento-1212f.web.app. Endereço do app no Firebase
TTL 3600 (ou padrão) Tempo de vida em cache do DNS

Atenção aos Registros Existentes

Nunca altere nem exclua os registros existentes com nome @, www ou esus. Cada subdomínio é independente e coexiste perfeitamente com os demais.


3. Ciclo de Verificação e Provisionamento SSL

Após salvar a entrada CNAME, o Firebase inicia o ciclo automatizado de validação e emissão de certificados:

sequenceDiagram
    autonumber
    actor Admin as Administrador
    participant Reg as DNS (Registro.br)
    participant FB as Firebase Hosting
    participant CA as Autoridade Certificadora (Let's Encrypt / GTS)
    actor Web as Usuário Final

    Admin->>Reg: Cria registro CNAME wiki -> gestao-conhecimento-1212f.web.app
    Admin->>FB: Cadastra domínio wiki.nispg.com.br
    FB->>Reg: Consulta DNS periódica (busca apontamento)
    Reg-->>FB: Confirma CNAME correto (status: DNS_MATCH)
    FB->>CA: Solicita emissão do certificado TLS/SSL
    Note over FB,CA: certStatus: CERT_PENDING (pode levar até 24h)
    CA-->>FB: Certificado emitido e distribuído na CDN
    Note over FB: status: DOMAIN_ACTIVE / CERT_ACTIVE
    Web->>FB: Acessa https://wiki.nispg.com.br com conexão segura (HTTPS)

Sobre o Prazo de até 24 horas

Durante a fase inicial, o status no console exibirá "Pendente" ou "Provisionando certificado SSL" (certStatus: CERT_PENDING).

Nesse intervalo, ao acessar https://wiki.nispg.com.br, o navegador pode exibir temporariamente a mensagem "Sua conexão não é particular" (ERR_CERT_COMMON_NAME_INVALID), pois os servidores de borda respondem com um certificado de fallback (firebaseapp.com) até que o certificado definitivo seja ativado e propagado.


🔍 Como Testar e Diagnosticar

1. Teste de Resolução DNS

Para verificar se o CNAME foi propagado corretamente:

# Consulta direta via DNS over HTTPS do Google
curl -s "https://dns.google/resolve?name=wiki.nispg.com.br&type=CNAME"

Resposta esperada:

"Answer": [
  {
    "name": "wiki.nispg.com.br.",
    "type": 5,
    "data": "gestao-conhecimento-1212f.web.app."
  }
]

2. Teste de Conexão HTTP (Redirecionamento)

O Firebase Hosting redireciona automaticamente qualquer tráfego HTTP da porta 80 para HTTPS:

curl -I http://wiki.nispg.com.br

Retorno esperado:

HTTP/1.1 301 Moved Permanently
Location: https://wiki.nispg.com.br/
Server: Varnish

3. Teste de Conexão HTTPS e Certificado

Para checar o certificado SSL emitido:

curl -Iv https://wiki.nispg.com.br

Quando o provisionamento estiver concluído, o certificado reportará emissão pelo Google Trust Services (GTS) ou Let's Encrypt com subjectAltName incluindo wiki.nispg.com.br.


📋 Resumo das Informações

Item Valor
URL de Produção https://wiki.nispg.com.br/
URL Alternativa (Firebase) https://gestao-conhecimento-1212f.web.app/
Tipo de Registro CNAME
Apontamento gestao-conhecimento-1212f.web.app.
Certificado Digital SSL/TLS Gratuito e Renovado Automaticamente
Tempo Máximo de Emissão Até 24 horas a partir da propagação do DNS

🔗 Documentos Relacionados