Como configurar curingas do IIS para subdomínios de conta (como o Basecamp)?

7

Na verdade, estou trabalhando em um aplicativo SaaS no qual desejo fornecer aos assinantes seu próprio subdomínio para acessar suas informações (no código, puxarei a primeira parte do subdomínio para uso como nome de conta), semelhante a como Basecamp e todo o trabalho. Por exemplo, um assinante pode ter o URL acme.myapp.com . Como pode haver centenas de assinantes, não posso simplesmente adicionar um cabeçalho de host diferente para cada cliente.

O Apache permite que você especifique um caractere curinga (*) e redirecionará acme.myapp.com para myapp.com, onde posso executar minha lógica para recuperar o nome da conta do usuário com base no subdomínio. Não tenho certeza de como fazer isso automaticamente com o IIS (Já faz um tempo desde que eu tive que configurar o IIS para qualquer coisa, exceto um único site).

Além disso, há alguma disposição especial que eu preciso para conseguir isso? Quando meu aplicativo está pronto e estou procurando hospedagem para ele, precisarei de algo específico do host que limitaria minhas escolhas? Eu também estava pensando em usar o Windows Azure para tirar proveito da nuvem - ainda seria possível fazer isso se fosse com o Azure como uma plataforma de hospedagem?

    
por Wayne Molina 15.11.2009 / 16:01

2 respostas

5

Como Joe mencionou, você faria isso com mais DNS do que com o IIS.

O IIS não tem suporte para domínios curinga * .domain.com. Em vez disso, você criaria um site no IIS que não tivesse cabeçalhos de host; portanto, responderia a todas as solicitações nesse IP que não foram selecionadas por outros sites que tivessem cabeçalhos de host. Em seguida, você criaria sua entrada de DNS curinga para apontar para o IP desse site e o que você fez.

    
por 15.11.2009 / 17:04
2

Se eu estou entendendo corretamente, você pode usar o DNS para fazer isso. Supondo que myapp.com é o seu domínio, então, na sua zona DNS myapp.com, basta adicionar um registro CNAME (acme) que aponte para o registro A do seu site (www.myapp.com). Isso os enviará ao seu site principal, onde seu código assumirá e os redirecionará para o aplicativo apropriado.

Você também pode usar um registro curinga de DNS (*), que irá capturar tudo, como acme.myapp.com, joeschmoe.myapp.com, etc.

    
por 15.11.2009 / 16:34