Site fora do ar

O que Deixa um Site Fora do Ar?

De servidores que travam e atualizações com defeito a certificados vencidos e renovações de domínio esquecidas, estes são os motivos mais comuns para um site sair do ar, e o que você pode fazer para evitar cada um.

Capa do guia: Site fora do ar
Índice

Sites raramente caem por motivos misteriosos. A maioria das quedas se encaixa em um punhado de categorias conhecidas, e muitas delas podem ser evitadas com um pouco de preparação. Este artigo apresenta as causas mais comuns de site fora do ar, como reconhecer cada uma e o que você pode fazer para reduzir o risco.

1. Falhas de hospedagem e de servidor

O servidor que roda o seu site é uma máquina física ou virtual, e máquinas falham. Defeitos de hardware, uma máquina virtual travada, um volume de armazenamento com falha ou um problema no data center do provedor podem deixar um site fora do ar.

Como aparece: erros de tempo esgotado ou de conexão recusada, muitas vezes afetando todas as páginas e, às vezes, outros sites no mesmo servidor.

Prevenção: escolha uma hospedagem com boa reputação, mantenha backups em um lugar diferente do próprio servidor e, para sites importantes, considere redundância, como vários servidores atrás de um balanceador de carga. Saiba onde a sua hospedagem publica as atualizações de status.

2. Esgotamento de recursos

Os servidores têm limites de memória, CPU, espaço em disco e conexões. Quando um deles acaba, o site fica lento e, em algum momento, para de responder. Um disco cheio é o exemplo clássico: os logs ou os uploads crescem até o banco de dados não conseguir mais gravar e, de repente, todas as páginas falham.

Como aparece: tempos de resposta aumentando aos poucos, seguidos de erros 500, 502, 503 ou 504, ou tempo esgotado.

Prevenção: monitore o uso de disco e de memória no servidor, faça rotação e compactação dos logs e acompanhe a tendência do tempo de resposta no seu monitoramento de uptime. Uma lentidão gradual costuma ser o primeiro sinal de alerta. Veja nosso guia sobre tempo de resposta de sites.

3. Picos de tráfego

Uma newsletter, uma menção nas redes sociais, uma promoção ou uma notícia podem trazer muito mais visitantes do que o normal. Se o servidor não estiver dimensionado para isso, só o tráfego legítimo já pode derrubá-lo.

Prevenção: use cache (cache de páginas, uma CDN para os arquivos estáticos), faça testes de carga antes de campanhas planejadas e garanta que o seu plano de hospedagem consiga crescer quando necessário. Se você sabe que um pico está chegando, avise a sua hospedagem.

4. Tráfego malicioso e ataques

Ataques distribuídos de negação de serviço (DDoS) inundam um site de requisições de propósito. Robôs e scrapers agressivos podem ter um efeito parecido sem nenhuma má intenção. Sites invadidos também podem ser tirados do ar pela hospedagem para proteger os outros clientes.

Prevenção: coloque o site atrás de um provedor que ofereça proteção contra DDoS, limite a taxa de acesso a endpoints pesados, mantenha o software atualizado e use senhas fortes e únicas com autenticação em duas etapas para o acesso administrativo. Leia O que é um certificado SSL? para conhecer uma parte desse quadro de segurança.

5. Publicações e atualizações com defeito

Boa parte das quedas começa logo depois de uma mudança: um código novo é publicado, um plugin do CMS é atualizado, um arquivo de configuração é editado ou uma dependência é atualizada. Um único erro de sintaxe ou uma versão incompatível pode transformar todas as páginas em erro.

Como aparece: erros HTTP 500 começando em um horário específico que coincide com uma mudança.

Prevenção:

  • teste as mudanças antes em um ambiente de homologação;
  • publique em horários em que alguém possa acompanhar o resultado;
  • tenha uma forma rápida de voltar para a versão anterior;
  • atualize plugins e temas um de cada vez, para saber qual deles causou o problema;
  • confira o seu monitor de uptime logo depois de cada publicação.

6. Problemas no banco de dados

A maioria dos sites dinâmicos depende de um banco de dados. Se o servidor do banco estiver fora do ar, sobrecarregado, sem conexões disponíveis ou sem espaço em disco, o site normalmente mostra uma página de erro, mesmo que o servidor web esteja funcionando bem.

Prevenção: monitore o banco de dados separadamente quando possível, configure um pool de conexões, mantenha as consultas lentas sob controle e garanta que os backups sejam testados restaurando-os de verdade.

7. Problemas de DNS

O DNS traduz o nome do seu domínio no endereço IP do seu servidor. Se os registros estiverem errados, faltando ou se o provedor de DNS estiver fora do ar, os visitantes simplesmente não encontram o seu site, mesmo com o servidor funcionando perfeitamente.

Causas comuns incluem erros de digitação nos registros depois de uma migração, apagar o registro errado, trocar os servidores de nomes sem copiar todos os registros e configurar o DNSSEC errado.

Prevenção: documente seus registros DNS, reduza o TTL antes de mudanças planejadas, confira as alterações com uma consulta DNS e leia Como problemas de DNS podem deixar seu site fora do ar.

8. Certificados SSL/TLS vencidos

Certificados têm data de vencimento. Quando ela passa, os navegadores mostram um aviso de segurança em tela cheia e a maioria dos visitantes vai embora. A renovação automática deixou isso menos comum, mas as renovações ainda podem falhar em silêncio, por exemplo depois de uma troca de servidor, de uma mudança de DNS ou de uma regra de firewall que bloqueia a requisição de validação.

Prevenção: use renovação automática e acompanhe a data de vencimento de forma independente. O verificador de SSL mostra a data na hora, e o UptimeStats a registra em cada verificação HTTPS dos sites que você monitora.

9. Registros de domínio vencidos

Nomes de domínio são registrados por um período fixo. Se o pagamento da renovação falhar porque um cartão venceu ou porque os e-mails de lembrete foram para um endereço antigo, o domínio pode parar de resolver. No pior caso, ele pode acabar sendo registrado por outra pessoa.

Prevenção: ative a renovação automática, mantenha atualizados o e-mail de contato e os dados de pagamento da conta no registrador e considere registrar os domínios importantes por vários anos.

10. Dependências de terceiros

Sites modernos dependem de serviços externos: CDNs, meios de pagamento, serviços de autenticação, APIs externas, hospedagem de fontes e scripts. Quando um deles falha, partes do seu site podem quebrar, ou a página inteira pode travar esperando um recurso que nunca chega.

Prevenção: carregue os scripts não essenciais de forma assíncrona, defina tempos limite sensatos para chamadas de API, planeje alternativas elegantes para falhas e saiba onde cada fornecedor publica as atualizações sobre incidentes.

Manutenção planejada

Nem todo tempo fora do ar é acidental. Atualizações de servidor, migrações de banco de dados e grandes atualizações às vezes exigem tirar o site do ar por pouco tempo. A parada planejada causa muito menos prejuízo quando é agendada para horários de pouco movimento, anunciada com antecedência e acompanhada de uma página de manutenção adequada, que retorna HTTP 503 Service Unavailable com um cabeçalho Retry-After, indicando aos mecanismos de busca que a queda é temporária.

Como detectar a queda rapidamente

Quando você suspeitar de uma queda, uma ferramenta para verificar se o site está online diz em segundos se ele caiu para todo mundo e qual camada falhou.

A prevenção reduz as quedas, mas nunca acaba com elas. A outra metade do trabalho é a detecção: quanto antes você souber, mais curta será a queda. O monitoramento de uptime verifica o seu site de fora para dentro em um intervalo regular e avisa quando algo falha.

Exemplo de linha do tempo de uma queda: uma verificação falha às 10:05, uma verificação de confirmação às 10:06 abre o incidente e envia um único e-mail de queda, as verificações continuam sem e-mails repetidos e o site volta às 10:21, com um único e-mail de recuperação.Exemplo de linha do tempo de uma queda: uma verificação falha às 10:05, uma verificação de confirmação às 10:06 abre o incidente e envia um único e-mail de queda, as verificações continuam sem e-mails repetidos e o site volta às 10:21, com um único e-mail de recuperação.
Exemplo de como uma queda confirmada é detectada, alertada e encerrada.

O UptimeStats classifica cada falha, como falha de DNS, tempo esgotado, erro de SSL, conexão recusada ou erro HTTP, para que o próprio alerta aponte para uma das causas deste artigo. As falhas são confirmadas com uma segunda verificação antes de você ser avisado, e cada incidente é registrado com horário de início, duração e motivo. Para entender como o monitoramento funciona, leia Monitoramento de sites: guia completo para iniciantes.

Resumo

CausaSintoma típicoPrincipal prevenção
Falha de servidorTempo esgotado, conexões recusadasHospedagem confiável, backups, redundância
Esgotamento de recursosLentidão, depois erros 5xxAcompanhar disco, memória e tempo de resposta
Picos de tráfegoLentidão, 503 ou tempo esgotadoCache, CDN, testes de carga
AtaquesTempo esgotado, carga altaProteção contra DDoS, limites de taxa, atualizações
Publicação com defeitoErros 500 depois de uma mudançaHomologação, plano para voltar a versão
Problemas no banco de dadosPáginas de erro, 500Monitoramento, pool de conexões, backups testados
Erros de DNS"Servidor não encontrado"Registros documentados, mudanças cuidadosas
Certificado vencidoAviso de segurança no navegadorRenovação automática e monitoramento do vencimento
Domínio vencidoO domínio para de resolverRenovação automática, contatos atualizados
Falha de terceirosPartes quebradas, páginas travandoCarregamento assíncrono, tempos limite, alternativas

Artigos relacionados

Como Saber se um Site Está Online ou Fora do Ar

O site está online ou fora do ar? Conheça sete formas rápidas de verificar, como saber se o problema está do seu lado ou do site, e como identificar se uma queda real está no DNS, no SSL, no servidor ou na aplicação.