Skip to main content

Gerenciar um domínio personalizado do seu site do GitHub Pages

É possível definir ou atualizar determinados registros DNS e as configurações de repositório para apontar o domínio padrão do seu site do GitHub Pages para um domínio personalizado.

Quem pode usar esse recurso?

O GitHub Pages está disponível em repositórios públicos com o GitHub Free e o GitHub Free para organizações, e em repositórios públicos e privados com o GitHub Pro, o GitHub Team, o GitHub Enterprise Cloud e o GitHub Enterprise Server. Para mais informações, confira "Planos do GitHub".

Todas as compilações GitHub Pages usarão GitHub Actions a partir de 30 de junho de 2024. Nenhuma outra alteração é necessária, mas GitHub Actions deve ser habilitado em seu repositório para que as compilações continuem. Para mais informações sobre ativar o GitHub Actions, confira "Gerenciando as configurações do GitHub Actions para um repositório".

Platform navigation

Pessoas com permissões de administrador para um repositório podem configurar um domínio personalizado de um site do GitHub Pages.

Sobre a configuração de domínio personalizado

Dica: recomendamos verificar seu domínio personalizado antes de adicioná-lo ao seu repositório, a fim de melhorar a segurança e evitar ataques de aquisição. Para obter mais informações, confira "Verificando seu domínio personalizado para o GitHub Pages".

Lembre-se de adicionar o domínio personalizado ao seu site do GitHub Pages antes de configurar o domínio personalizado com o provedor DNS. Se você configurar o domínio personalizado com o provedor DNS sem adicioná-lo ao GitHub, outra pessoa conseguirá hospedar um site em um dos seus subdomínios.

O comando dig, que pode ser usado para verificar a configuração correta dos registros DNS, não está incluído no Windows. Para verificar se os registros DNS estão configurados corretamente, instale o BIND.

Observação: as alterações de DNS podem levar até 24 horas para serem propagadas.

Configurando um domínio apex

Para configurar um domínio apex, como example.com, você precisa configurar um domínio personalizado nas configurações do seu repositório e pelo menos um registro ALIAS, ANAME ou A com seu provedor DNS.

  1. Em GitHub, acesse o repositório do seu site.

  2. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja-escuro.

  3. Na seção "Código e automação" da barra lateral, clique em Páginas.

  4. Em "Domínio personalizado", digite seu domínio personalizado e clique em Salvar. Se você estiver publicando seu site de um branch, isso criará um commit que adiciona um arquivo CNAME diretamente à raiz do branch de origem. Se você estiver publicando seu site com um fluxo de trabalho personalizado de GitHub Actions, nenhum arquivo CNAME será criado. Para saber mais sobre sua fonte de publicação, confira "Configurar uma fonte de publicação para o site do GitHub Pages".

  5. Navegue até o provedor DNS e crie um registro ALIAS, ANAME ou A. Crie também registros AAAA para suporte ao IPv6. Se você estiver implementando o suporte ao IPv6, é altamente recomendável usar o registro A além do registro AAAA devido à adoção lenta do IPv6 globalmente. Para obter mais informações sobre como criar o registro correto, consulte a documentação do provedor do DNS.

    • Para criar um registro ALIAS ou um registro ANAME, aponte seu domínio apex para o domínio padrão do seu site. Para obter mais informações sobre o domínio padrão do seu site, confira "Sobre o GitHub Pages".

    • Para criar registros A, aponte seu domínio apex para os endereços IP do GitHub Pages.

      185.199.108.153
      185.199.109.153
      185.199.110.153
      185.199.111.153
      
    • Para criar registros AAAA, aponte seu domínio apex para os endereços IP do GitHub Pages.

      2606:50c0:8000::153
      2606:50c0:8001::153
      2606:50c0:8002::153
      2606:50c0:8003::153
      

    Aviso: é altamente recomendável não usar registros DNS curingas, como *.example.com. Esses registros colocam você em risco imediato de aquisições de domínio, mesmo se você verificar o domínio. Por exemplo, verificar example.com impedirá que outra pessoa use a.example.com, mas ela ainda poderá usar b.a.example.com (que é coberto pelo registro DNS curinga). Para obter mais informações, confira "Verificando seu domínio personalizado para o GitHub Pages".

  6. Abra TerminalTerminalGit Bash.

  7. Para confirmar se o registro DNS foi configurado corretamente, use o comando dig, substituindo EXAMPLE.COM pelo domínio apex. Confirme que os resultados correspondem aos endereços IP do GitHub Pages acima.

    • Para registros A:

      $ dig EXAMPLE.COM +noall +answer -t A
      > EXAMPLE.COM    3600    IN A     185.199.108.153
      > EXAMPLE.COM    3600    IN A     185.199.109.153
      > EXAMPLE.COM    3600    IN A     185.199.110.153
      > EXAMPLE.COM    3600    IN A     185.199.111.153
      
    • Para registros AAAA:

      $ dig EXAMPLE.COM +noall +answer -t AAAA
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8000::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8001::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8002::153
      > EXAMPLE.COM     3600    IN AAAA     2606:50c0:8003::153
      

      Lembre-se de também marcar seu registro A.

  8. Se você usar um gerador de site estático para criar seu site localmente e efetuar push dos arquivos gerados para o GitHub, efetue pull do commit que adicionou o arquivo CNAME ao repositório local. Para obter mais informações, confira "Solucionar problemas de domínios personalizados e do GitHub Pages".

  9. Opcionalmente, para impor a criptografia HTTPS no seu site, selecione Impor HTTPS. Pode levar até 24 horas para que esta opção fique disponível. Para obter mais informações, confira "Proteger o site GitHub Pages com HTTPS".

Como configurar um domínio apex e a variante de subdomínio www

Nota: a configuração de um subdomínio www ao lado de um domínio apex é recomendada para sites protegidos por HTTPS.

Se você estiver usando um domínio apex como seu domínio personalizado, recomendaremos também configurar um subdomínio www. Se você configurar os registros corretos para cada tipo de domínio através do seu provedor DNS, GitHub Pages irá automaticamente criar redirecionamentos entre os domínios. Por exemplo, se você configurar www.example.com como o domínio personalizado para seu site e tiver os registros DNS do GitHub Pages configurados para o apex e os domínios www, example.com fará o redirecionamento para www.example.com. Observe que os redirecionamentos automáticos só se aplicam ao subdomínio www. Os redirecionamentos automáticos não se aplicam a nenhum outro subdomínio, como blog. Para obter mais informações, confira "Como configurar um subdomínio".

Configurando um subdomínio

Para configurar um subdomínio www ou personalizado, como www.example.com ou blog.example.com, você precisa adicionar seu domínio às configurações do repositório. Em seguida, configure um registro CNAME com seu provedor DNS.

  1. Em GitHub, acesse o repositório do seu site.

  2. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja-escuro.

  3. Na seção "Código e automação" da barra lateral, clique em Páginas.

  4. Em "Domínio personalizado", digite seu domínio personalizado e clique em Salvar. Se você estiver publicando seu site de um branch, isso criará um commit que adiciona um arquivo CNAME diretamente à raiz do branch de origem. Se você estiver publicando seu site com um fluxo de trabalho personalizado de GitHub Actions, nenhum arquivo CNAME será criado. Para saber mais sobre sua fonte de publicação, confira "Configurar uma fonte de publicação para o site do GitHub Pages".

    Observação: se seu domínio personalizado for um nome de domínio internacionalizado, insira a versão codificada pelo Punycode.

    Para saber mais sobre Punycodes, confira Nome de domínio internacionalizado.

  5. Navegue até o provedor DNS e crie um registro CNAME que aponte o subdomínio para o domínio padrão do seu site. Por exemplo, se você quiser usar o subdomínio www.example.com para seu site de usuário, crie um registro CNAME que aponte www.example.com para <user>.github.io. Caso deseje usar o subdomínio another.example.com para seu site de organização, crie um registro CNAME que aponte another.example.com para <organization>.github.io. O registro CNAME deve sempre apontar para <user>.github.io ou <organization>.github.io, excluindo o nome do repositório. Para obter mais informações sobre como criar o registro correto, consulte a documentação do provedor do DNS. Para obter mais informações sobre o domínio padrão do seu site, confira "Sobre o GitHub Pages".

    Aviso: é altamente recomendável não usar registros DNS curingas, como *.example.com. Esses registros colocam você em risco imediato de aquisições de domínio, mesmo se você verificar o domínio. Por exemplo, verificar example.com impedirá que outra pessoa use a.example.com, mas ela ainda poderá usar b.a.example.com (que é coberto pelo registro DNS curinga). Para obter mais informações, confira "Verificando seu domínio personalizado para o GitHub Pages".

  6. Abra TerminalTerminalGit Bash.

  7. Para confirmar se o registro DNS foi configurado corretamente, use o comando dig, substituindo WWW.EXAMPLE.COM pelo subdomínio.

    $ dig WWW.EXAMPLE.COM +nostats +nocomments +nocmd
    > ;WWW.EXAMPLE.COM.                    IN      A
    > WWW.EXAMPLE.COM.             3592    IN      CNAME   YOUR-USERNAME.github.io.
    > YOUR-USERNAME.github.io.      43192   IN      CNAME   GITHUB-PAGES-SERVER .
    > GITHUB-PAGES-SERVER .         22      IN      A       192.0.2.1
    
  8. Se você usar um gerador de site estático para criar seu site localmente e efetuar push dos arquivos gerados para o GitHub, efetue pull do commit que adicionou o arquivo CNAME ao repositório local. Para obter mais informações, confira "Solucionar problemas de domínios personalizados e do GitHub Pages".

  9. Opcionalmente, para impor a criptografia HTTPS no seu site, selecione Impor HTTPS. Pode levar até 24 horas para que esta opção fique disponível. Para obter mais informações, confira "Proteger o site GitHub Pages com HTTPS".

    Nota: se você apontar seu subdomínio personalizado para o domínio apex, encontrará problemas com a imposição de HTTPS ao seu site e poderá encontrar problemas em que seu subdomínio não alcança seu site do GitHub Pages.

Registros de DNS para seu domínio personalizado

Caso tenha familiaridade com o processo de configuração do seu domínio para um site GitHub Pages, você poderá usar a tabela abaixo para procurar os valores DNS para seu cenário específico e os tipos de registro DNS com suporte do seu provedor DNS. Para obter mais informações, incluindo como configurar seu site GitHub Pages em GitHub e como verificar a configuração usando o comando dig, consulte as seções acima.

Para configurar um domínio apex, você só precisa separar um único tipo de registro DNS na tabela abaixo. Para configurar um domínio apex e um subdomínio www (por exemplo, example.com e www.example.com), configure o domínio apex e, em seguida, o subdomínio. Para obter mais informações, consulte "Como configurar um domínio apex e a variante de subdomínio www".

Aviso: é altamente recomendável não usar registros DNS curingas, como *.example.com. Esses registros colocam você em risco imediato de aquisições de domínio, mesmo se você verificar o domínio. Por exemplo, verificar example.com impedirá que outra pessoa use a.example.com, mas ela ainda poderá usar b.a.example.com (que é coberto pelo registro DNS curinga). Para obter mais informações, confira "Verificando seu domínio personalizado para o GitHub Pages".

CenárioTipos de registro DNSNome do registro DNSValores de registro DNS
Domínio Apex
(example.com)
A@185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
Domínio Apex
(example.com)
AAAA@2606:50c0:8000::153
2606:50c0:8001::153
2606:50c0:8002::153
2606:50c0:8003::153
Domínio Apex
(example.com)
ALIAS ou ANAME@USERNAME.github.io ou
ORGANIZATION.github.io
Subdomínio
(www.example.com,
blog.example.com)
CNAMESUBDOMAINUSERNAME.github.io ou
ORGANIZATION.github.io

Remover um domínio personalizado

Se você receber um erro relativo à obtenção de um domínio personalizado, talvez seja necessário remover esse domínio personalizado de outro repositório.

  1. Em GitHub, acesse o repositório do seu site.

  2. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja-escuro.

  3. Na seção "Código e automação" da barra lateral, clique em Páginas.

  4. Em "Domínio personalizado", clique em Remover.

    Captura de tela de uma caixa de configurações para salvar ou remover um domínio personalizado no GitHub Pages . À direita de uma caixa de texto em que se lê "example.com" está um botão rotulado como "Remover" escrito em vermelho.

Protegendo seu domínio personalizado

Se o site do GitHub Pages estiver desabilitado, mas tiver um domínio personalizado configurado, ele correrá o risco de uma tomada de controle de domínio. Ter um domínio personalizado configurado com o provedor DNS enquanto o site está desabilitado pode fazer com que outra pessoa acabe hospedando um site em um de seus subdomínios.

Verificar seu domínio personalizado impede que outros usuários do GitHub usem seu domínio com os repositórios deles. Se o seu domínio não for verificado e o seu site do GitHub Pages estiver desabilitado, você deverá atualizar ou remover imediatamente seus registros DNS com o provedor DNS. Para saber mais, confira "Verificando seu domínio personalizado para o GitHub Pages".

Leitura adicional