Meu site mudou de servidor. E agora?

A propagação de DNSs pode ser enervante quando precisamos trocar de servidor. Veja aqui o que é possível fazer para sobreviver melhor ao problema.

servidores

O quadro é relativamente comum: você acaba de chegar na PortoFácil, e o seu site que estava rodando em outra hospedagem precisou ser migrado. Com isso foi necessário fazer alterações no DNS, e durante um tempo você não sabe se o site está abrindo ainda no antigo servidor, ou se ele já está em sua casa nova.

Ou então, você trocou de servidor dentro da própria PortoFácil, e está passando pela mesma dívida — embora a atualização de DNS entre servidores da PortoFácil não costume demorar mais de dez minutos para completar.

Na verdade, a propagação de DNS é uma das coisas mais chatas que há nessa indústria vital: você altera a configuração de DNS do seu domínio, e a Internet inteira pode demorar até umas 48h (quando não mais) para passar a acessar o novo servidor.

Por que o DNS demora a propagar

Há dois fatores que podem levar o DNS de um domínio a demorar a propagar: a configuração do DNS antes da mudança e a configuração dos servidores de DNS dos provedores de acesso (razão pela qual sempre sugerimos o uso de DNSs alternativos aos DNSs das operadoras de banda larga).

Configuração de “TTL”

Quando se configura um DNS há uma informação chamada “TTL” (do Inglês Time to Live, tempo de vida) que tem por função dizer aos provedores de acesso e navegadores durante quanto tempo uma resposta de consulta àquele DNS será válida. O tempo médio de propagação do DNS de um domínio será equivalente ao dobro do TTL configurado nele.

Na PortoFácil adotamos o mesmo padrão dos DNSs da Cloudflare: TTL de apenas cinco minutos, o que representa um tempo de propagação de dez minutos.

Entretanto, a prática da maioria absoluta das empresas de hospedagem é configurar o TTL de seus domínios para absurdas quatro horas! Isso significa que em vez de dez minutinhos, como no caso dos servidores da PortoFácil, serão necessárias oito inaceitáveis horas para a propagação chegar até o fim.

Provedores que não respeitam o “TTL”

O tempo médio de propagação do DNS de um domínio será equivalente ao dobro do TTL configurado nele.

Se um TTL configurado com um tempo desnecessariamente alto já pode dar nos nervos de quem espera pela propagação do seu domínio, o que dizer de provedores de acesso que simplesmente ignoram o TTL e fazem cache dos resultados das consultas DNS pelo tempo que bem entendem?

Acima dissemos que o tempo médio de propagação de um DNS é o dobro do TTL configurado. Quando a operadora de Internet não respeita esse tempo é comum que apliquem durações de 24h aos resultados de consultas (é o mesmo conceito de cache). Isso leva a 48h de espera pela propagação num cenário desses.

A importância da propagação do DNS

MonicaO motivo pelo qual é importante saber se o DNS já propagou é bem simples: evitar perda de trabalho.

Consideremos um blog, por exemplo.

Durante o processo de propagação ele pode estar sendo servido aos visitantes (e os editores e administradores do blog também são visitantes, só que de um tipo especial) tanto da máquina velha quanto da máquina nova.

Caso o DNS ainda não esteja propagado e os editores façam mudanças no blog (como novos posts, alterações de código, etc), no momento em que a propagação concluir essas alterações todas serão perdidas.

Como saber se um DNS já está propagado

Não é exatamente a coisa mais fácil do mundo saber se um DNS já está completamente (ou quase) propagado, mas também é raro que precisemos ter essa informação sempre, para todo e qualquer domínio que mude de hospedagem.

O mais comum é que a pessoa precise confirmar se o DNS já propagou para ela para que possa dar continuidade ao seu trabalho. E podemos utilizar alguns truques para obter essa confirmação.

Pedir confirmação ao servidor de hospedagem

O sysadmin do seu servidor antigo poderá verificar se há visitas chegando ainda na máquina de onde o site está saindo.

Como isso requer um pouquinho de boa vontade do sysadmin nem sempre é uma alternativa viável.

Extensão “showIP” ou equivalente

A maneira mais limpa de saber se o DNS já propagou em um determinado computador é usando uma extensão do tipo “showIP”. Há várias disponíveis para os diversos navegadores, com diversos níveis de complexidade e funcionalidade.

Entretanto, o que interessa mesmo é o recurso que exibe no rodapé da página sendo visitada (ou em outro lugar, dependendo da extensão) o endereço IP do domínio em questão.

De posse desta informação é só comparar com o IP do servidor: se forem iguais, o DNS já propagou; se aparecer o IP do servidor antigo, será necessário esperar um pouco mais.

Excluir o “wp-admin” do servidor antigo

Caso o domínio use o cache da Cloudflare a extensão acima não será de tanta utilidade, pois o IP que ela vai exibir será sempre o da Cloudflare (o cache), e não o do servidor.

Uma alternativa para esses casos é excluir ou renomear o wp-admin do servidor antigo, caso estejamos falando de um blog WordPress.

Assim, sempre que o usuário do blog tentar acessar o painel não vai conseguir — afinal ele foi apagado da máquina antiga — a menos que o DNS já esteja propagado para ele, caso em que o domínio estará sendo servidor da nova máquina que não teve o WordPress mutilado.

Incluir um arquivo especial no servidor antigo ou no novo

Às vezes, excluir o wp-admin de um blog fará com que ele quebre, principalmente se houver funcionalidades que dependam de AJAX nas páginas. Neste caso, o melhor é achar um jeitinho que não envolva excluir partes do WordPress para confirmar a propagação do DNS.

O truque que sugerimos, então, é a criação de um arquivo especial, de conhecimento apenas do administrador do site, pode tanto na máquina nova quanto pode ser na antiga hospedagem. Aí basta acessar esse arquivo no navegador e ver que resposta se obtém.

Vamos a um exemplo.

Primeiro criamos um arquivo em cada máquina, com o mesmo nome. Só que na máquina velha o arquivo terá um conteúdo, na nova terá outro.

Na máquina antiga: propagou.php

<?php
echo 'Ainda não propagou! =(';
?>
Na máquina nova: propagou.php

<?php
echo 'Já propagou! \o/';
?>

Agora é só acessar o script propagou.php no seu domínio, e verificar qual foi a resposta obtida.

Note que optamos por usar um script em PHP porque isso diminui a influência dos caches de servidor sobre esta verificação.


Foto: Candid Business no Flickr

 

Quero ser cliente da PortoFácil!Contato

Avalie este conteúdo!

Avaliação média: 4.63
Total de Votos: 35

Meu site mudou de servidor. E agora?

Compartilhe

Publicado por Janio Sarmento – 30 de maio de 2017