Sim, há um atraso de propagação para alterações de DNS devido à maneira como elas são armazenadas em cache. A duração do atraso é controlada pelo valor TTL ("Time To Live") do registro. Se você não definiu explicitamente para outra coisa, será algo entre 3 e 24 horas, dependendo do seu registrador. Alguns registradores permitem que você altere os TTLs (e se você hospeda seu próprio DNS, você tem controle total), embora esteja ciente de que a mudança no TTL levará até o comprimento do TTL antigo para se propagar.
Para descobrir quais são os seus TTLs, verifique se o painel de controle do seu registrador o exibe. Caso contrário, crie um novo registro de subdomínio A e execute dig sub.domain.tld
. Na saída, você obterá algo como o seguinte:
;; ANSWER SECTION:
sub.domain.tld. 3600 IN A 11.22.33.44
Isso mostra que o valor de TTL é uma hora (3.600 segundos). Se você fizer isso novamente, um minuto depois, você verá:
;; ANSWER SECTION:
sub.domain.tld. 3540 IN A 11.22.33.44
, o que significa que seu cache de DNS local irá agora reavaliar o valor não antes de 59 minutos.
Ao usar um novo subdomínio como esse, você sabe que o valor não está armazenado em cache, portanto, você verá o TTL completo na primeira consulta. dig
está disponível em praticamente todas as configurações do Linux (se não estiver instalado, você normalmente o encontrará no pacote "dnsutils") e estará disponível para Windows via Cygwin (se você não quiser uma instalação mais completa do Cygwin, tente cópias parciais como esta que inclui apenas dig, host e whois .
Uma coisa a ser lembrada é que, se o cache DNS de um usuário não tiver sido perguntado recentemente sobre esse nome específico, ele receberá o novo valor imediatamente na próxima solicitação para um TTL de duas horas. período de propagação você deve esperar pedidos para ambos os endereços IP.
Se você controlar a máquina apontada pelo endereço IP antigo e não executar nenhum outro site, poderá instalar um redirecionador como rinetd
nas conexões proxy para o novo endereço. Dessa forma, mesmo as pessoas que vão para o endereço antigo verão o conteúdo do novo servidor (um pouco mais lento). Se houver outros domínios hospedados, você poderá usar o mod_proxy (ou o equivalente do seu servidor da web) para obter o mesmo resultado. Embora se o período de propagação for curto o suficiente, você poderia substituir todas as páginas daquele site naquele servidor com a mensagem "o site estará de volta dentro de X horas", o que é obviamente mais fácil.
Alternativamente, você pode definir o TTL muito curto um dia ou dois antes da alteração - assim, o atraso de propagação será curto de qualquer maneira. Eu realmente tenho meus TTLs permanentemente definidos para cinco minutos. Não o defina muito curto: tecnicamente um TTL de 0 deve significar "nunca armazenar este valor em cache", mas alguns caches DNS e software cliente com bugs ignoram qualquer coisa abaixo de um determinado valor e assumem algo maior. / p>