Eu tenho uma gh-pages
ramificação em um dos meus http://github.com repositórios. As páginas do projeto GitHub funcionam bem se eu for para http://myuser.github.com/myrepo
Desejo configurar um domínio personalizado (myexample.com) que servirá nas páginas deste projeto. Eu quero os dois myexample.com
e www.myexample.com
para servir essas páginas do projeto.
As páginas do GitHub ajudam a fazer um registro A e um registro CNAME no seu DNS. O registro A faz sentido, mas não sei qual registro CNAME deve ser feito no meu DNS.
Os gh-pages
documentos dizem para fazer um CNAME
registro para 'charlie.github.com', que é um repositório de páginas do usuário. Não tenho um repositório de páginas de usuário - só tenho um repositório de projeto e um gh-pages
ramo que desejo usar para myexample.com
e www.myexample.com
.
Preciso criar um repositório de páginas de usuário para poder usar minha página de projeto para www.myexample.com e myexample.com?
Eu tentaria, mas quero garantir que isso funcione, pois já tenho www.myexample.com ativo e não quero cometer um erro.
Enviei um email para o suporte do GitHub e a resposta deles foi
Você não pode apontar para as mesmas páginas gh, tanto quanto eu sei.
Acho difícil acreditar que eles suportariam apenas registros A para páginas de projetos.
Alguém já fez isso com sucesso antes?
Respostas:
23/01/19 ATUALIZAÇÃO:
As coisas mudaram um pouco (para melhor) desde a minha última resposta. Esta resposta atualizada mostrará como configurar:
No final, todas as solicitações
example.com
serão redirecionadas para https://www.example.com (ou http: // se você optar por NÃO usar HTTPS). Eu sempre usowww
como meu pouso final. Por que ( 1 , 2 ), é para outra discussão.Essa resposta é longa, mas é não complicado. Fui detalhado por questões de clareza, pois os documentos do GitHub sobre esse tópico não são claros ou lineares.
Etapa 1: ativar as páginas do GitHub nas configurações do GitHub
GitHub Pages
seção. Você tem duas opções:master branch
será tratada/README.md
como sua webindex.html
. A escolhamaster branch /docs folder
tratará/docs/README.md
como sua webindex.html
.Your site is ready to be published at
Etapa 2: especificar o domínio personalizado nas configurações do GitHub
Digite seu nome de domínio personalizado aqui e pressione
save
:Este é um passo sutil, mas importante.
example.com
, elewww.example.com
será redirecionado paraexample.com
www.example.com
, eleexample.com
será redirecionado parawww.example.com
.Como mencionado anteriormente, eu recomendo sempre aterrar em,
www
então entreiwww.example.com
como na foto acima.Etapa 3: criar entradas DNS
No console da web do seu provedor de DNS, crie quatro
A
registros e umCNAME
.A
Registros para@
(também conhecido como ápice raiz):Alguns provedores de DNS solicitarão que você especifique
@
; outros (como AWS Route 53), você deixará o subdomínio em branco para indicar@
. Nos dois casos, estes são osA
registros a serem criados:CNAME
registro para apontar www.example.com paraYOUR-GITHUB-USERNAME.github.io
.Esta é a parte mais confusa.
Observe o nome do repositório
YOUR-GITHUB-USERNAME
NÃO do GitHub! O valor deYOUR-GITHUB-USERNAME
é determinado por este gráfico .Para um site de páginas de usuário (provavelmente o que você é), a
CNAME
entrada seráusername.github.io
, por exemplo:Para um site de páginas da organização , a
CNAME
entrada seráorgname.github.io
, por exemplo:Etapa 5: confirmar entradas DNS
Confirme seus
A
registros executandodig +noall +answer example.com
. Ele deve retornar os quatro185.x.x.x
endereços IP digitados.Confirma seu
CNAME
registro executandodig www.example.com +nostats +nocomments +nocmd
. Deve retornar umCNAME YOUR-GITHUB-USERNAME.github.io
Pode levar uma hora ou mais para que essas entradas DNS sejam resolvidas / propagadas. Quando o fizerem, abra o navegador
http://example.com
e ele deverá redirecionar parahttp://www.example.com
Etapa 6: configuração do SSL (HTTPS). Opcional, mas altamente recomendado
Depois de ter o domínio personalizado funcionando, volte para as configurações de repo. Se você já tem a página de configurações aberta, atualize a página com força.
Se houver uma mensagem na
Enforce HTTPS
caixa de seleção, informando que ainda está em processamento, será necessário aguardar. Você também pode precisar pressionar osave
botão naCustom domain
seção para iniciar oEnforce HTTPS
processamento.Depois que o processamento estiver concluído, ele deve ficar assim:
Basta clicar na
Enforce HTTPS
caixa de seleção e apontar seu navegador parahttps://example.com
. Deve redirecionar e abrirhttps://www.example.com
É ISSO AÍ!
O GitHub manterá automaticamente seu certificado HTTPS atualizado E deve lidar com o ápice para
www
redirecionar por HTTPS.Espero que isto ajude!!
...
Resposta antiga (anterior a 23/01/19)
Então eu descobri. James McLaughlin me deu a cutucada que eu precisava.
Para configurar um domínio personalizado para um repositório de páginas do projeto gh-pages que lida com www.yourdomain.com e yourdomain.com (pressupõe que você já tenha uma ramificação gh-pages em seu repositório):
yourdomain.com
. Confirme e empurre.cname
registros. Um para o ápice raiz (@) e outro para www. Ambos apontam paraYOURusername.github.io
. Se o seu provedor de DNS NÃO suportarALIAS
registros no ápice raiz (@), basta criarA
registros que apontem para192.30.252.153
e192.30.252.154
Aguarde até a atualização dos servidores de nomes:
dig yourdomain.com +nostats +nocomments +nocmd
fonte
204.232.175.78
como endereço IP.Visão geral
A documentação é um pouco confusa quando se trata de páginas do projeto , em oposição às páginas do usuário . Parece que você deveria fazer mais, mas na verdade o processo é muito fácil.
Envolve:
O que você receberá
Seu conteúdo será veiculado em um URL no formato http://nicholasjohnson.com .
Visitar http://www.nicholasjohnson.com retornará um redirecionamento 301 para o domínio nu.
O caminho será respeitado pelo redirecionamento; portanto, o tráfego para http://www.nicholasjohnson.com/angular será redirecionado para http://nicholasjohnson.com/angular .
Você pode ter uma página de projeto por repositório; portanto, se seus repositórios estiverem abertos, poderá ter quantas quiser.
Aqui está o processo:
1. Crie registros A
Para os registros A, aponte @ para os seguintes endereços IP:
Esses são os endereços IP estáticos do Github nos quais seu conteúdo será veiculado.
2. Crie um registro CNAME
Para o registro CNAME, aponte www para yourusername.github.io. Observe o ponto final à direita. Observe também que este é o nome de usuário, não o nome do projeto . Você não precisa especificar o nome do projeto ainda. O Github usará o arquivo CNAME para determinar de qual projeto servir o conteúdo.
por exemplo
O objetivo do CNAME é redirecionar todo o tráfego do subdomínio www para uma página do GitHub que será redirecionada 301 para o domínio sem registro.
Aqui está uma captura de tela da configuração que eu uso no meu próprio site http://nicholasjohnson.com :
3. Crie um arquivo CNAME
Adicione um arquivo chamado CNAME à raiz do seu projeto na ramificação gh-pages. Isso deve conter o domínio que você deseja veicular. Certifique-se de cometer e empurrar.
por exemplo
Este arquivo diz ao GitHub para usar este repositório para manipular o tráfego para este domínio.
4. Aguarde
Agora aguarde 5 minutos, sua página do projeto agora deve estar ativa.
fonte
yourUserName.github.io.
Arquivo CNAME nas páginas gh ramo terá uma linha:
www.mydomain.com
(em vez demydomain.com
)Não importa a sua preferência no redirecionamento (em outras palavras, não importa o que está no seu arquivo CNAME na ramificação gs-pages), com o seu provedor de DNS , você deve configurá-lo assim:
fonte
Resposta curta
Essas explicações detalhadas são ótimas, mas a confusão do OP (e minha) pode ser resolvida com uma frase: "Direcione o DNS ao seu nome de usuário ou organização do GitHub , ignorando o projeto específico, e adicione os arquivos CNAME apropriados nos repositórios do projeto: o GitHub enviará o DNS certo para o projeto certo com base nos arquivos no repositório " .
fonte
Em 29 de agosto de 2013, a documentação do Github afirma que:
fonte
username.github.io/projectname
parawww.projectname.com
.As coisas estão muito mais fáceis hoje em dia!
fonte
Acabei de descobrir, após um pouco de frustração, que, se você estiver usando o PairNIC , tudo o que você precisa fazer é ativar a configuração "Web Forwarding" em "DNS personalizado" e fornecer o endereço username.github.io/project e ele será configure automaticamente os registros apex e subdomínio para você. Parece fazer exatamente o que é sugerido na resposta aceita. No entanto, não permitirá que você faça exatamente a mesma coisa adicionando registros manualmente. Muito estranho. De qualquer forma, demorei um pouco para descobrir isso, então pensei em compartilhar para salvar todo mundo do problema.
fonte
Gostaria de compartilhar meus passos, um pouco diferentes do que é oferecido pelo rynop e pelo superluminário .
A
Record é exatamente o mesmo, masCNAME
para,www
eu preferiria redirecioná-lo para meu domínio em branco (non-www
)Esta configuração está se referindo às orientações do domínio preferido . A configuração de domínio de
www
anon www
ou vice-versa pode ser diferente em cada um dos provedores de domínio. Como meu domínio está no GoDaddy, na Configuração do domínio, eu o defino usando o encaminhamento de subdomínio (301).Como resultado de apontar o domínio para o repositório do Github, ele fornecerá todos os URLs para
master
egh-pages
ramificar semelhantes, como os listados abaixo, para o domínio preferido:mestre
Criando
CNAME
arquivo namaster
ramificação (verifique no meu repositório de usuários ).páginas gh
Criando o mesmo
CNAME
arquivo nagh-pages
ramificação (verifique no meu repositório de projetos ).Além do
CNAME
arquivo acima, você pode precisar ignorar completamente o processamento do Jekyll nas páginas do GitHub, criando um arquivo nomeado.nojekyll
na raiz do repositório de páginas.fonte