Configurando Domínios Específicos do Cliente

4

Eu posso ir ao site da Fog Creek, configurar uma nova conta, e eles instantaneamente me atribuirão uma URL como 'minhaempresa.fogbugz.com' (onde 'minhaempresa' é algo que eu invento, em oposição a algum valor atribuído pela Fog Creek). Eu posso fazer o mesmo tipo de coisa com o Beanstalk e muitos outros fornecedores. Eu tenho pesquisado ao redor tentando descobrir exatamente como isso funciona.

1: No exemplo acima, a configuração 'mycompany.fogbugz.com' está configurada no DNS de alguma forma especial, diferente de como alguém configuraria um domínio 'www.foo.com' vanilla?

2: Assumindo que o Fog Creek usa o Tomcat (o que eu tenho certeza que NÃO é verdade, mas finja que é) eles provavelmente criariam um subdiretório tomcat / webapps / mycompany em seu servidor? Ou há alguma maneira mais simples de lidar com isso?

Eu obviamente não sou um assistente de DNS ou TC. Qualquer insight apreciado. Feliz Ano Novo!

    
por Zoredache 03.01.2010 / 21:14

3 respostas

7

Isso é chamado de subdomínio curinga (no dns), que é tratado com o uso de regravação de URL.

Um subdomínio curinga se parece com isto:

*.domain.tld.      IN  A    1.2.3.4

Em seguida, você pode definir o apache para aceitar solicitações para qualquer subdomínio:

<VirtualHost 111.22.33.55>
    DocumentRoot /www/subdomain
    ServerName www.domain.tld
    ServerAlias *.domain.tld
</VirtualHost>

Em seguida, você pode usar o mod_rewrite para redirecionar o tráfego em um desses subdomínios para uma subpasta ou uma string de consulta. Algo parecido com isto:

RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC]
RewriteRule (.*) %2/$1 [L]
    
por 03.01.2010 / 21:20
2

Eu não sei sobre o tomcat, mas no IIS se o site estiver configurado para um endereço IP (ou seja, nenhum host / cabeçalho específico de host) todos os subdomínios apontarão para o mesmo site (não tenho certeza da terminologia exata aqui)

Se este for o caso, você pode programaticamente detectar o subdomínio e reagir de acordo.

    
por 03.01.2010 / 21:21
1

Uma forma exemplar de fazer isso é subdomain_fu , que é um subdomínio para os trilhos, explicado neste screencast: link .

Conceitualmente: Você pode configurar o apache com um alias de servidor "pega-tudo" de subdomínio e, em seguida, fazer o processamento de subdomínio dentro de seu webframework.

    
por 03.01.2010 / 21:22