Heroku / GoDaddy: envie domínio nu para www [fechado]

142

Eu estou tentando descobrir como obter o domínio nu para o meu site redirecionar para o domínio www. Estou usando o Heroku e tenho o domínio do GoDaddy. Por causa do Heroku, meus registros A já estão configurados como:

@: 75.101.145.87

@: 75.101.163.44

@: 174.129.25.170

E meu www CNAME aponta para proxy.heroku.com.

Eu tenho procurado por toda a Internet, mas não consigo encontrar uma resposta simples e gratuita de como posso fazer esse redirecionamento. Algumas respostas discutem o uso de serviços pagos, o que eu não quero fazer, e outros falam sobre entrar e modificar as configurações do Heroku, mas, na verdade, não dão muita explicação. No momento, se você for ao meu domínio nu, é Heroku dizendo que esse aplicativo não existe, enquanto que se você for ao meu domínio www, é o meu aplicativo.

Andrew Latham
fonte
8
O FAQ do Heroku diz apenas como fazer o redirecionamento com o DNSimple. A página de suporte está vinculada ao StackOverflow.
18118 Andrew Latham
32
Eu acho que a resposta de Emil é um pouco dura, este site é um recurso para resolver problemas que temos ao longo da jornada de programação e esse é um problema que estou tendo agora! : D
Daniel Morris
Isso provavelmente deve ser fechado como Dupe vez de Off-Topic: stackoverflow.com/questions/16022324/...
Chris Moschini
2
@ChrisMoschini, a resposta aceita na pergunta que você faz referência não funciona no GoDaddy porque o GoDaddy não suporta registros ALIAS, apenas CNAME. Esta é a sua própria pergunta, eu acho.
Topher Hunt
1
Qualquer que seja o registro da A Records, não há possibilidade de ter um domínio nu apontado diretamente para o heroku. Só poderíamos configurá-lo para ser roteado para o wwwqual CNAME está apontado your-app-name.herokuapp.com.
Chetabahana

Respostas:

231

No GoDaddy, use o recurso "Encaminhamento" para configurar um encaminhamento de yourdomain.compara www.yourdomain.com. O recurso de encaminhamento pode ser acessado no Gerenciador de Domínio, na parte inferior da seção "Informações do Domínio":

Encaminhamento de domínio no GoDaddy

Se você fizer isso, todo o tráfego para o seu domínio.com será roteado para o CNAME do aplicativo Heroku (que é a melhor abordagem ).

Uma observação, no entanto, se você estiver na pilha Cedar , não use proxy.heroku.compara o host do seu wwwCNAME. Em vez disso, use your-app-name.herokuapp.com. Esses detalhes são abordados aqui .

O GoDaddy também especifica que, para que seu nome de domínio seja encaminhado, seu registro A deve estar apontado para 64.202.189.170 ou deve estar entre os seguintes intervalos: 50.63.202.1 - 50.63.202.31 ou 184.168.221.1 - 184.168.221.31.

Ryan Daigle
fonte
14
isso cria um aviso / erro se você estiver usando SSL como o heroku afirma? eles disseram que se https: // example.com for redirecionado, há um aviso.
Jaqx
2
@jaqx, isso está acontecendo comigo, você encontrou uma maneira de evitar que os usuários recebam esse aviso?
jackerman09
3
@ jackerman09 Eu só tenho cansado do aborrecimento e mudou para DNSimple
Jaqx
5
@ Matt, não há como fazer isso com o GoDaddy. Use o recurso ALIAS / ANAME de outros provedores, como DNSimple ou DNS Made Easy, se você precisar.
Ryan Daigle
3
@RyanDaigle Obrigado Ryan. Eu recomendo que todos saiam godaddy por mais de um motivo . NameCheap.com é quem eu uso agora. Eles são ótimos e apóiam o que eu estava tentando fazer. Além disso, o NameCheap aceita bitcoin .
Matt
22

Você também pode usar o http://wwwizer.com para encaminhar do seu domínio livre para o seu www. No GoDaddy, no gerenciador de DNS, sob o registro A, no tipo de cabeçalho @, em 174.129.25.170. Eles serão automaticamente redirecionados do domínio direto para outro com www. na frente dele.

TMilligan
fonte
5
por que pagar outra taxa a outra pessoa?
Benjamin
4
Você, senhor, é um salva-vidas. @ Vezu: encaminhamento não-ssl é totalmente gratuito. Você acabou de apontar seu registro A para o domínio nu para esse endereço IP e ele redirecionará o navegador para o domínio www. Você nem precisa de uma conta com eles.
P O'Conbhui
Estou tentando incorporar o wwwizer para o meu e, no meu registro A, tenho o host como "@" e os pontos como 174.129.25.170, de acordo com as instruções do wwwizer, mas recebo a página de mensagem de erro deles quando visito meu domínio nu! Eu fiz isso corretamente ??
tx291 27/02
7

No Editor de zona DNS do GoDaddy, você deseja configurar seu registro CNAME www para apontar para @. No seu registro A, você usará um curinga (*) para apontar para o endereço IP e um segundo registro que use @ como host que também apontará para o endereço da Web. Deste jeito,

subdomain1.example.com will forward to your IP
www.example.com will forward to your IP
silly.example.com will forward to your IP
anything.example.com will forward to your IP

insira a descrição da imagem aqui

perguntas frequentes

Posso apontar * .mydomain.com para o meu aplicativo Heroku?

Sim, usando o recurso gratuito Domínios personalizados do Heroku, você pode apontar um domínio curinga para seu aplicativo.

Quais endereços IP devo usar para apontar meu domínio personalizado para o Heroku?

A pilha de roteamento Heroku usa uma coleção de endereços IP que podem ser alterados a qualquer momento, e o uso de registros A para apontar para o seu aplicativo não é suportado. Para garantir que seu domínio sempre aponte corretamente para a malha de roteamento, configure subdomínios (por exemplo, www em www.example.org) usando um registro CNAME:

If the app is on…   Then CNAME the subdomain to
Bamboo  yourapp.heroku.com
Cedar   yourapp.herokuapp.com

Domínios nus (ou vazios / vértices) (por exemplo, example.org) devem ser evitados devido às suas conseqüências de disponibilidade e tempo de atividade.

Por que não consigo adicionar subdomínio.seudominio.com ao meu aplicativo?

Em alguns casos, as tentativas de adicionar um domínio personalizado (como subdomínio.meudominio.com.br) para um aplicativo podem resultar em um erro como este:

 ! mydomain.com is owned by another user

Todos os aplicativos para um determinado domínio base devem pertencer à mesma conta Heroku. O erro acima significa que outra pessoa já adicionou um domínio personalizado mydomain.com a um de seus aplicativos.

kobaltz
fonte
1
O endereço IP e o endereço da Web do Heroku seriam appname.heroku.com ou proxy.heroku.com?
Andrew Latham
1
Você realmente deve olhar para este artigo, devcenter.heroku.com/articles/custom-domains , pois abrange tudo o que você deseja fazer.
Kboltz #
1
Essa abordagem aponta o CNAME wwwpara @, que ainda direciona o tráfego para endereços IP fixos (com as mesmas desvantagens dos registros A). Use um redirecionamento de nível superior; no GoDaddy, isso é chamado de "encaminhamento".
precisa
5

Se você tiver os endereços IP configurados em seu domínio nu e seu www cname'd para yourappname.herokuapp.com, basta usar algo como RackRewrite no seu aplicativo para redirecionar as solicitações quando elas chegarem ao seu aplicativo.

O que você deseja configurar é que qualquer solicitação para o domínio livre é redirecionada para o seu endereço www. Após seguir as instruções de instalação, adicione um inicializador em config / initializers

 ApplicationName::Application.config.middleware.insert_before(Rack::Lock, Rack
 r301 %r{.*}, 'http://www.yourdomain.com$&', :if => Proc.new {|rack_env
  rack_env['SERVER_NAME'] != 'www.yourdomain.com'
 }
 end if Rails.env == 'production'

Ou seja, se o URL solicitado não for www.yourdomain.com, 301 o redirecionará para o www.yuordomain.com, mas apenas se estiver em produção.

John Beynon
fonte
1
Idealmente, isso é feito no nível DNS, evitando uma viagem pelos endereços IP fixos do Heroku. Além disso, não tem certeza se esse é um aplicativo Ruby ou não?
precisa
Ryan, os redirecionamentos não podem ser feitos no nível DNS. Eles sempre são feitos por HTTP.
Emil Vikström
Por que, como inicializador, e por que não apenas colocá-lo na configuração do ambiente de produção?
precisa saber é o seguinte
Quando uso o heroku + meu domínio de custome, devo ter um registro A apontando para o heroku? Se sim, qual é o seu valor?
Alan Coromano 23/09
3

Para que isso funcione com as soluções de rede, faça o seguinte:

Soluções de rede apontando o seu domínio.com para www.seudominio.com. Aqui está como.

  1. No Gerenciador de contas , selecione Meus nomes de domínio

  2. Selecione o nome de domínio que você deseja gerenciar

  3. Na caixa verde, selecione Alterar onde pontos do domínio

  4. Selecione DNS avançado e continue

  5. Primeiro, edite os registros A selecionando Editar registros A

    Para "@ none", digite o seguinte endereço IP 205.178.189.129, limpe os registros para "www" e "* (Todos os outros)" e selecione Continuar

  6. Segundo, edite os aliases do host (registros CNAME) selecionando Editar registros CNAME

    Digite "www" na coluna Alias

    Deixe TTL definido como 7200, mas na mesma linha, digite os servidores de nomes fornecidos pelo serviço de blog na seção Outro host [IE SIGA AS INSTRUÇÕES HEROKU AGORA www -> yourapp.herokuapp.com (Cedar Stack)]

    Selecione Continuar

Agora aguarde e verifique o (s) domínio (s) com o seguinte comando do terminal:

host domain.com
host www.domain.com
blnc
fonte