Controlando servidores DNS… o que preciso saber

1

Eu sou mais do tipo stackoverflow.com, mas estou correndo para algo interessante. Estou desenvolvendo um aplicativo que será gerenciado assim que for publicado (esperando no começo do próximo ano) ...

Meu objetivo era ter o link como o site brochureware e ter link como o host em que o cliente efetua login. A esperança é que 1 cliente para 1 banco de dados, em vez de todos os clientes em um único banco de dados. torna o dimensionamento de anos claros mais fácil ... precisa aumentar a escala e lançar mais alguns servidores no farm.

Da minha extensa pesquisa, os melhores métodos para fazer isso são usar algum tipo de servidor de nomes para hospedar os "hosts", e então configurar uma caixa iis que pode ler os cabeçalhos e passá-lo para o aplicativo, que pode controlar as conexões do banco de dados, etc.

Eu queria saber ... Eu sei que posso usar o WMI para controlar programaticamente os servidores de nomes se tudo for baseado no Windows, mas este é o melhor método? Eu vou me deparar com uma tonelada de dores de cabeça? Alguém pode sugerir uma configuração decente que pode ser usada para lidar melhor com isso? Eu estou inicializando o software, então eu tenho recursos limitados para tirá-lo do chão.

Thx.

    
por Richard B 22.10.2009 / 02:49

5 respostas

2

Por que não usar o site www.domain.com como o site brochureware e, em vez disso, acessar www.domain.com/client como os sites de clientes individuais?

Quando você começar a usar o SSL, isso evitará o custo de um certificado curinga, etc., e tirará você do negócio de DNS.

    
por 05.11.2009 / 22:08
0

O PowerDNS pode usar um back-end de banco de dados para armazenar suas informações de zona. Nesse caso, tudo o que você precisa fazer para adicionar um subdomínio é apenas inserir uma linha no banco de dados. Ele suporta uma miríade de back-ends de banco de dados. Escusado será dizer que uma inserção de SQL é absolutamente simples de conseguir programaticamente.

Eu vou avisá-lo, embora ... hospedagem DNS não é para os fracos de coração. Você faria bem em ler, pesquisar e testar seus servidores antes de colocá-los em produção. Sendo assim, recomendamos que você use um serviço DNS de terceiros para isso. Há muitos que têm APIs abertas que você pode usar para gerenciar as entradas de DNS para sua zona. DNSmadeeasy e Dyndns são dois que chegam mente que permitem o acesso API. Essas empresas ganham dinheiro hospedando DNS. Eles sabem o que estão fazendo e são relativamente baratos. Por que se expor ao risco e à perda de tempo de hospedar o DNS por conta própria quando você tem a opção de terceirizar isso?

    
por 22.10.2009 / 04:41
0

A execução de uma configuração simples de DNS não é realmente muito difícil. No entanto, eu sugiro a segunda sugestão de ErikA para fazer alguma pesquisa séria (DNS & Bind by O'Reilly é sempre um bom começo) antes de tentar executá-la você mesmo.

Eu definitivamente diria que vale a pena fazer yourseif se você:

  1. tem um sólido, tolerante a falhas presença na internet
  2. pode gastar uma quantidade razoável de tempo aprendendo os ins & outs de seu solução de DNS escolhida

Pessoalmente, tenho executado o bind com várias visualizações há cerca de 8 anos e tive muito sucesso com isso. Recentemente, comecei a olhar para o PowerDNS com um backend mysql e poweradmin para gerenciamento para tentar reduzir a curva de aprendizado da minha pessoa de backup. Parece muito agitado e simples, uma vez que é configurado.

    
por 22.10.2009 / 06:10
0

O processo é chamado de "redirecionamento transparente" ou Virtual Hosting. O que significa simplesmente que você estará conectado a um site diferente, dependendo de qual URL está sendo solicitado no cabeçalho HTTP.

É trivial no Apache. E possível no IIS, veja: link

O client.domain.com e o client2.domain.com exigem 2 entradas de DNS, portanto, cada URL precisará de uma nova entrada. Você terá que gerenciá-los para cada cliente.

Outra maneira de fazer isso é como uma subpasta, em vez de um outro host virtual. Isso significaria nenhuma entrada de DNS extra. Uma vantagem real.

por exemplo. www.domain.com/client e www.domain.com/client2

Você pode apontar cada subpasta em um site diferente para cada cliente e, portanto, um diferente conjunto de dados. Não tenho certeza se o IIS permitirá que você o proxy de forma transparente para outro servidor ou não, mas você poderia colocar um servidor de balanceamento de carga na frente do servidor da Web para farm as solicitações para servidores diferentes. De qualquer maneira, é tudo muito possível e não tão difícil.

    
por 05.11.2009 / 23:40
0

A maneira mais simples de fazer isso seria simplesmente usar uma entrada de caractere curinga e fazer com que o servidor web resolva as solicitações?

Configure um registro DNS para *.example.com e, em seguida, usando o IIS (suponho), vincule seu site de brochura a example.com e www.example.com e, em seguida, mapeie seus aplicativos um por um para os outros sites (client1. example.com, client2.example.com) etc.

Dessa forma, você só gerencia as ligações do IIS, não o DNS, e porque o caractere curinga é a correspondência com classificação mais baixa para uma entrada DNS, se você precisar criar um registro A ou CName para outra coisa (por exemplo, support.example.com ), o curinga será classificado abaixo desse registro.

    
por 06.11.2009 / 01:45