Normalmente, o que você está tentando fazer é feito com alguma forma de DNS com reconhecimento geográfico , o que pode ser feito por correção do seu servidor de nomes responder a consultas com base na localização do usuário (ou servidor DNS do usuário) solicitando o endereço ou usando " anycast abordando "com BGP para ter servidores DNS normais em várias regiões respondem a consultas das regiões com endereços apropriados para essa região.
Qualquer um deles será "quase sempre exato", já que o usuário normalmente não entra em contato diretamente com o servidor DNS para obter endereços, em vez disso, usa o servidor de nomes do provedor que faz a solicitação ou usa os servidores do Google ou OpenDNS. provavelmente não estão nem perto deles.