Domínio raiz do ponto para o subdomínio de outro TLD (via DNS, sem mascarar)

1

Encontrei algumas respostas semelhantes a essa pergunta, mas esperava que alguém pudesse esclarecer caso eu fosse mal-entendido. Isso está hospedado no IIS 7 no ASP.NET

No meu site, tenho domínios root e www indo para minha página inicial:

  • example.com acessa minha página inicial
  • www.example.com acessa minha página inicial

Também tenho um redirecionamento de URL configurado para meus usuários:

  • user1.example.com reescreve a example.com/Page.aspx?u=user1
  • user2.example.com reescreve a example.com/Page.aspx?u=user2
  • etc.

Tudo isso funciona perfeitamente, mas eu gostaria de permitir que meus usuários registrem os nomes de seus próprios domínios para apontar para seus próprios sites. Eles estariam no controle desses nomes e eu forneceria um tutorial sobre como configurá-los. Tenho certeza de que posso descobrir como fazer com que o CNAME funcione para o subdomínio www, mas gostaria de ter o URL raiz para funcionar também. Isso é possível?

Eu gostaria de:

  • userdomain1.com para apontar para user1.example.com
  • www.userdomain1.com para apontar para user1.example.com
  • userdomain2.com para apontar para user2.example.com

Eu poderia usar o mascaramento de domínio, mas preferiria não, como gostaria que os domínios funcionassem como nomes de domínio reais.

Isso pode ser feito de alguma forma via DNS e / ou codificação? Obrigado! :)

    
por trnelson 20.08.2011 / 16:58

2 respostas

1

Deixando uma resposta aqui para qualquer pessoa interessada, já que parece que estou trabalhando!

Para o nome de domínio do usuário, instruí-los-ei a apontar o registro A para o endereço IP do meu site. Eu fiz isso via @ host, mas eu imagino que isso poderia ser feito com o * host wildcard também.

Em seguida, no meu arquivo Web.config, criei essa entrada para o módulo de reconfiguração do IIS 7:

<rule name="UserDomain" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" negate="true" pattern="^(?:www\.)?example\.com$" />
    </conditions> 
    <action type="Redirect" url="http://www.example.com/Page.aspx?d={HTTP_HOST}" />
</rule>

Basicamente, essa regra de regex negativa diz que qualquer domínio que aponte para esse host, que não é o domínio do site principal example.com, redirecionará para Page.aspx e transmitirá o nome de domínio no querystring. Isso permitirá que eu pesquise no banco de dados exatamente como preciso. A melhor parte disso é que não é um mascaramento de domínio e não é um encaminhamento de domínio. É bom, limpo, bondade do DNS com um pouco de mágica para fazer isso funcionar.

Ainda preciso ajustar um pouco, mas estou feliz por ter percebido isso! :)

    
por 21.08.2011 / 06:48
2

Se eu entendi corretamente, você não pode usar um registro CNAME do jeito que você está pedindo. Para realizar o que você está tentando fazer, você teria que colocar em registros que apontam para alguns servidores web que farão redirecionamentos http para você. Godaddy pode redirecionar um domínio como este para você. Eles chamam isso de "encaminhamento sem mascaramento" em sua documentação aqui:

link

    
por 20.08.2011 / 17:07