Redirecionar a raiz e todos os subdomínios para outro equivalente de domínio (somente DNS)

1

Primeiramente, sim, eu sei, esta pergunta é provavelmente uma duplicata, mas eu procurei por algumas horas e não encontrei nenhuma resposta relevante ... Então eu tentei perguntar.

Eu tenho, digamos, domain-a.com & domain-b.com. domain-a é apenas um alias de domain-b.com e tudo (root e subdomínios) deve ser redirecionado para ele. Então, eu gostaria dos seguintes redirecionamentos:

http://domain-a.com => http://domain-b.com
http://aze.domain-a.com => http://aze.domain-b.com
http://www.domain-a.com => http://www.domain-b.com

Também preciso que o navegador exiba domain-b.com , portanto, domain-a.com nunca deve aparecer em nenhum lugar ao acessar o nome de domínio ...

Ok, até agora, sim, é bem fácil usar o A-records & redirecionamentos usando nginx ou Apache. Mas gostaria de fazer tudo isto usando apenas as minhas definições de DNS (através do painel da OVH), pelo que terei que lidar com domain-b.com no meu próprio servidor.

O que eu tentei:

  • usando um registro CNAME assim em domain-a.com : * IN CNAME domain-b.com. , mas quando vou para aze.domain-a.com , a URL não é alterada e o domínio raiz não é manipulado.
  • usando redirecionamentos 301, mas preciso configurar todos os subdomínios e não sei quais subdomínios serão usados com antecedência.

Parece que registro de DNAME é adequado às minhas necessidades, mas não posso configurar um com a OVH . Então, se este for o registro certo para usar, terei que transferir meu domínio para outro registrador, então prefiro ter certeza antes de fazer isso.

Eu tenho outra restrição: meu servidor lida com vários nomes de domínio, portanto, não consigo capturar todas as solicitações para redirecionar para domain-b.com equivalente e gostaria de configurar apenas domain-a.com .

Então, isso é possível?

Obrigado pela sua ajuda

    
por Alexandre Germain 25.05.2017 / 12:35

1 resposta

2

A única maneira de redirecionar uma solicitação da web é usar um servidor da web. Quando um resolvedor de DNS, como o criado no sistema de um usuário, solicita um endereço, ele obtém um endereço. Um CNAME apenas diz a ele o outro lugar para obter o endereço, mas ele quer um endereço, ponto final. Em seguida, ele iniciará uma solicitação ao servidor da Web para o domínio solicitado, usando o endereço fornecido para iniciar a conexão TCP. Não há conexão entre seu navegador e seu resolvedor de DNS. Portanto, o que você está pedindo não é possível em um cenário DNS puro, mesmo usando DNAME (que é apenas CNAME em uma escala maior).

Não estou familiarizado com a configuração do nginx, mas no apache, você pode criar um host virtual para atender ao domínio-b. O host virtual superior age como um "pega-tudo" para qualquer outra maneira de acessar o site. Você pode redirecionar todos esses catch-alls para domain-b usando algumas regras de reescrita. Então você pode capturar aze.domain-x.com, ou aze.domain-y.com, etc, e pegar a parte do host e redirecioná-lo para aze.domain-b.com. Você terá que usar algum regex, etc, mas é o caminho certo para fazê-lo. Consulte Apache 2.4 Redirecionando e Remapeando com o mod_rewrite . Tenho certeza que o nginx tem a mesma funcionalidade, embora talvez executado de uma maneira diferente.

    
por 25.05.2017 / 17:02