Um nome de host e dois servidores em diferentes países

1

Eu tenho um site, deixe-o ser www.site.com/ (ASP NET MVC, mas isso não importa realmente) Eu tenho outro site, deixe-o ser www.secondsite.vi/ (ele hospeda no Vietnã) . A estrutura dos sites é a mesma, os dados em bancos de dados são diferentes.

Eu quero fazer o seguinte: O usuário navega para www.site.com/. Se o seu endereço IP é vietnamita, então ele é levado para www.secondsite.vi/ (mas na barra de URL ele ainda vê www.site.com/). Ele é levado para www.site.com/. Além disso, quando o usuário digita www.site.com/ do Vietnã, sua solicitação não deve chegar na hospedagem do site principal (o ping é muito longo)

Você pode sugerir, como isso pode ser feito? Quais são as melhores práticas de fazer essas coisas? Ouvi dizer que é possível fazer isso com o Amazon Route 53. Em caso afirmativo, o que devo fazer para adicionar ambos os sites para ele e dividir o endereço IP ou geoInformation intervalo? Obrigado antecipadamente!

    
por Oleg Chibikov 15.06.2013 / 08:15

2 respostas

3

1. route53-geo

Meu entendimento é que a rota 53 da AWS não suporta DNS geográfico atualmente (mas, como eles implantam novos recursos o tempo todo, isso já pode estar desatualizado!)

link "Os serviços de DNS geográficos não são suportados atualmente, mas parece que o suporte para este serviço será adicionado no futuro. Você pode integrar os serviços de DNS do Route 53 a qualquer outro serviço da Web da Amazon."

O suporte da AWS diz que o recurso é prioridade máxima, e vem (por volta de 2011 ...); link

2. mod_geoip

Se você estiver usando o apache2 / linux, você pode instalar uma ferramenta como mod_geoip2 para redirecionar seus usuários de volta à instância geográfica desejada com base no endereço IP do cliente.

Este stackoverflow tem um exemplo que mostra como corresponder em uma região e envia o usuário para outro site com um redirecionamento 302;

RewriteEngine On  
GeoIPEnable On  
GeoIPDBFile /var/share/GeoIP/GeoIP.dat  
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^VN$  
RewriteRule ^$ http://www.secondsite.vi/$1 [L,NC,QSA]

e, em seguida, devolve os visitantes IP de origem NOT-vietnam ao site hospedado nos EUA na outra configuração do servidor;

RewriteEngine On  
GeoIPEnable On  
GeoIPDBFile /var/share/GeoIP/GeoIP.dat  
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^VN$  
RewriteRule ^$ http://www.site.com/$1 [L,NC,QSA]

Embora possa ser indesejável entrar em contato com o servidor dos EUA em seu cenário, se os links forem muito lentos, na realidade, uma solicitação GET para "/" é, na verdade, apenas uma pequena quantidade de dados de solicitação e resposta (200-300 bytes) em cada sentido) - o suficiente para a "Localização: link ." Redirecionamento 301 e outros cabeçalhos de resposta. Na verdade, você poderia modificar as estrofes acima para remover mais um redirecionamento do outro lado, especificando exatamente a página "inicial" desse modo;

RewriteEngine On  
GeoIPEnable On  
GeoIPDBFile /var/share/GeoIP/GeoIP.dat  
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^VN$  
RewriteRule ^$ http://www.secondsite.vi/index.html [L,NC,QSA]

Como o html na página atendida pelo link , tem a base de servidor correta, link então todo o tráfego restante não vai para os EUA.

3. Existem alguns provedores de serviços comerciais para o Geo-DNS;

geralmente você define um grupo de regiões, e os registros A, CNAME são exibidos dependendo do IP do cliente de origem;

link
link
link
link

(Eu não usei nenhum deles pessoalmente, mas eu dei uma olhada nestes serviços para um requisito anterior, então eu estaria interessado em saber como isso funciona para você)

4. Execute seu próprio servidor de nomes Geo-aware

Você está obviamente sujeito a problemas relacionados ao armazenamento em cache e a localizar fisicamente seus servidores DNS de forma adequada. (portanto, esta solução seria apenas se você tivesse uma situação especial)

No entanto, você pode instalar extensões no servidor DNS de ligação (ou dnsmasq etc) que habilitarão geo-aware para servir seus próprios registros DNS;

"Como implementar o GeoDNS usando o BIND & MaxMind" link

    
por 15.06.2013 / 08:51
0

Bem, eu recomendaria usar um CDN em vez de usar o Geocast IP. A OVH na França dá por 10 euros por mês um IP dedicado, por exemplo (para dar sempre o mesmo campo A ao seu DNS), mas eles têm vários servidores em todo o mundo e ligam automaticamente o visitante asiático ao CDN mais próximo. / p>

Você tem 10 back-end incluídos, o que significa que você pode fornecer até 10 servidores, e o CDN local acessará o back-end mais rápido disponível, para que você possa inserir seus servidores nos EUA e vietnamita no backend diferente e seus visitantes vietnamitas sempre acessará o mais rápido.

link

Se você não quiser fazer isso, eu recomendaria o DNS Made Easy, mas não sua "grande oferta", como o Global Traffic Director, e sim apenas sua menor oferta (Small Business, 29,95 por ano), mas com um Opção "DNS FailOver" (4,95 $ por ano), que monitoriza sempre até 5 servidores backend. Você pode dizer que, se um backend leva mais de um segundo para responder ao seu cliente, ele automaticamente vai para o segundo, e assim, se o seu servidor vietnamita for mais rápido do que o seu servidor nos EUA, ele será escolhido para responder seus visitantes vietnamitas.

    
por 15.06.2013 / 14:53