DNS curinga e subdomínios dinâmicos

Em todo o meu tempo livre (ha!), Tenho trabalhado para embrulhar o Mapa do Wild Birds Unlimited aplicativo com um aplicativo corporativo que permitirá que as pessoas desenvolvam seu próprio localizador de lojas. Desenvolver minha própria solução de Software como Serviço tem sido uma meta minha há alguns anos, e esta é uma grande oportunidade.

Existem dois recursos principais que eu queria colocar no aplicativo e que estão se tornando um grande desafio, então eu queria discuti-los caso você queira fazer o mesmo. Ambos os recursos são comuns em todos os aplicativos, mas descobri que, embora sejam comuns, muitos provedores de hospedagem na verdade não os suportam!

Meu objetivo é construir um aplicativo de autoatendimento onde o cliente possa configurar seu próprio subdomínio (http://subdomínio.myapplicationdomain.com), ou até mesmo aplicar seu próprio subdomínio (http://subdomínio.seudominio.com) Para que seja de autoatendimento, ele requer a capacidade de programar a solução - mas acessa alguns arquivos de configuração do servidor de nomes de domínio que estão fora dos limites para a maioria das contas de hospedagem! A questão é o suporte para DNS curinga, ou seja, poder apontar qualquer subdomínio para o domínio do servidor. Em outras palavras, test.domain.com ou www.domain.com ou any.domain.com apontam para o mesmo lugar. Não importa o que você escreva - vai funcionar.

Fora dos aplicativos, esse é realmente um recurso muito bom de ter ativado - até no seu blog. Isso permitiria a qualquer um escrever nada.seudominio.com e trazê-los para yourdomain.com. Você ficaria surpreso com a quantidade de links ruins que apontam para o seu blog ou site. Esse tráfego pode ser perdido se a pessoa não reconhecer que é um erro com o link.

O processo funciona reescrevendo o subdomínio em uma string de consulta antes que a página seja realmente renderizada pelo servidor da web ... então subdomain.domain.com é realmente interpretado pelos servidores Apache como domain.com?what=subdomain por meio do uso de um arquivo htaccess:

# Extraia a parte do subdomínio de dominio.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Seudomínio \ .com $ [NC]
 
# Verifique se a parte do subdomínio não é www e ftp e mail
RewriteCond% 1! ^ (Www | ftp | mail) $ [NC]
 
# Redirecione todas as solicitações para um script php passando como argumento o subdomínio
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

Existem algumas informações adicionais sobre os arquivos que você precisa editar em V-nessa.net. Observe que os arquivos podem não estar localizados onde especificado, dependendo do seu provedor de hospedagem. Meu provedor de hospedagem apóia bastante a intromissão das pessoas, mas eles alertam que isso pode anular o suporte ao cliente. Além de 'hackear por sua própria conta e risco', eles também não irão ajudá-lo.

Vou trabalhar no desenvolvimento do restante do aplicativo, em vez de ficar preso ao desenvolvimento do subdomínio. Na verdade vou dar CakePHP um tiro para usar como estrutura para isso!

Última nota, sou um pouco hackeado nessas coisas. Sou abençoado com equipes de desenvolvimento em meu trabalho para descobrir essas coisas. Por conta própria, sou um pouco perigoso. Qualquer feedback e ajuda são apreciados!

3 Comentários

  1. 1

    Muito legal. Na verdade, usei o servidor de nomes do meu registrador com DNS curinga quando estava com o SliceHost e configurei o Apache para servir subdomínios não configurados dos arquivos de domínios regulares.

    Fiquei realmente intrigado em olhar para o framework CakePHP, mas seu link está morto 🙂

    CakePHP pode ser encontrado em http://cakephp.ORG

  2. 3

O que você acha?

Este site usa o Akismet para reduzir o spam. Saiba como seus dados de comentário são processados.