Pular para o conteúdo

Lições Aprendidas: Solucionando Problemas de Indisponibilidade de Site

    Esta semana, enfrentamos um desafio que nos lembrou da importância de estarmos preparados para lidar com imprevistos. Um de nossos site ficou fora do ar por algumas horas, um contratempo que, se não fosse resolvido rapidamente, poderia ter impactado muito grande negativamente.

    O problema, embora simples em sua essência, destacou a necessidade de uma investigação para prever e monitorar possíveis falhas no futuro. Um dos passos cruciais em nessa investigação foi lidar com o arquivo .htaccess. Para muitos, esse arquivo pode parecer simples, mas sua importância é inegável no mundo da hospedagem web.

    Então, o que é o .htaccess e por que é tão crucial?

    O htaccess é um arquivo de configuração do Servidor Web Apache. É utilizado para o controle de diversos parâmetros, entre eles restringir acessos, redirecionamentos, páginas de erro e URLs amigáveis. Também é muito utilizado para a proteção de arquivos e diretórios.

    Agora, voltando ao nosso problema de indisponibilidade do site, após realizar uma série de testes e eliminações, ficou claro que o problema estava relacionado ao arquivo .htaccess. Ao fazer backup do arquivo original e reescrevê-lo, conseguimos restaurar a funcionalidade do site.

    Mas por que o .htaccess pode causar problemas?

    Existem várias razões pelas quais um arquivo .htaccess pode ser corrompido ou causar problemas:

    • Falhas de hardware: Problemas no hardware do servidor, como falhas de disco rígido ou problemas de memória, podem resultar em corrupção de arquivos, incluindo o arquivo .htaccess.
    • Erros de software: Falhas ou bugs no software do servidor, como o próprio Apache ou outros componentes do servidor web, podem levar à corrupção do arquivo .htaccess.
    • Problemas de configuração: Configurações incorretas do servidor ou conflitos entre diferentes configurações podem causar problemas que resultam em corrupção do arquivo .htaccess.
    • Ataques de hackers: Hackers podem tentar explorar vulnerabilidades no servidor para modificar o arquivo .htaccess com o objetivo de redirecionar o tráfego para sites maliciosos.
    • Problemas de permissões de arquivo: Se as permissões de arquivo do arquivo .htaccess não estiverem configuradas corretamente, isso pode levar a problemas de acesso ou modificação que resultam em corrupção do arquivo.
    • Problemas durante a transferência de arquivos: Se ocorrerem interrupções ou erros durante a transferência do arquivo .htaccess para o servidor, isso pode resultar em corrupção do arquivo.
    • Erros humanos: Edições incorretas do arquivo .htaccess feitas por administradores ou desenvolvedores podem introduzir erros de sintaxe ou lógica que causam corrupção do arquivo.

    Quais foram os passos para descobrir o problema?

    Assim que fui informado do ocorrido, comecei a fazer alguns passos para fazer os testes para verificar a causa do problema.

    – Fiz alguns testes de conexão em outras páginas do mesmo servidor e todas elas estavam online, assim identifiquei que o problema era em uma página pontual e não no servidor de forma geral.

    – Desativei a pasta de plugins para saber se algum plugin estava causando o problema.

    – Desativei o tema do site, nada aconteceu.

    – Por último, fiz o backup do arquivo .htaccess e fiz a reescrita desse mesmo arquivo e, então, o site voltou a funcionar novamente.

    – Para garantir maior segurança do arquivo htaccess, escrevi uma linha de código no arquivo para que ele não seja exposto para acessos externos.

    Por que o arquivo .htaccess foi corrompido?

    Apesar de já ter resolvido o problema, é importante saber as causas para realizar um plano de ação e evitar futuros incidentes negativos em nossas páginas. Assim, comecei uma nova etapa na investigação que é procurar registros do servidor que indiquem comportamentos anormais de arquivos, para isso, busquei os arquivos de logs do servidor.

    Fiz uma busca nos logs na data correspondente ao ocorrido e em dois arquivos de logs, encontrei resgistros de arquivos de um plugin do wordpress com comportamento diferente. Por algum motivo, esse plugin pode ter causado uma reescrita no arquivo .htaccess e assim ter terminado em sua corrupção.

    Plugins do WordPress são imprevisíveis, novas atualizações são feitas quase todas as semanas e claro que é importante manter todas as atualizações aplicadas para evitar ataques externos, porém, não conseguimos prever como essas atualizações podem se comportar ao instalarmos em nosso site.

    Essa experiência nos lembrou da importância de manter uma vigilância constante sobre a saúde e integridade de nossos sistemas online. Além disso, destaca a necessidade de investir em monitoramento e ações rápidas para lidar com problemas emergentes. Assim, comecei uma pesquisa sobre essas ferramentas de monitoramento de sites pra sempre sermos avisados em tempo real caso nossos sites estejam fora o ar e trabalharmos o mais rápido possível na recuperação da conexão.

    Principais ferramentas para monitoramento de sites

    Vou destacar duas ferramentas que testamos e ambas atendeu as nossas necessidades.

    1. Uptime Robot: é uma ferramenta popular e acessível que monitora a disponibilidade de sites, servidores e serviços online. Ele realiza verificações regulares (a cada 5 min no plano free) para garantir que o site esteja acessível e funcione corretamente. Se ocorrer uma interrupção, o Uptime Robot envia alertas por e-mail, SMS, etc. Essa ferramenta também conta com aplicativo disponível para Android e iOS, assim você pode ser avisado no app quando algum site cair.
    2. Uptime Kuma: O Uptime Kuma é uma ferramenta de monitoramento de site e servidor de código aberto (gratuito). Ele oferece funcionalidades semelhantes ao Uptime Robot, mas com mais flexibilidade e controle para usuários avançados. O Uptime Kuma permite que você hospede seu próprio servidor, o que pode ser benéfico para empresas que desejam manter total controle sobre seus dados de monitoramento. Neste momento, estamos usando essa opção para monitorar nossos sites.

    Ambas as ferramentas são excelentes opções para garantir a disponibilidade contínua de sites e serviços online, mas a escolha entre elas pode depender das necessidades específicas e preferências de cada usuário ou empresa.

    Nossos sistemas podem falhar, mas nossa capacidade de aprender com esses contratempos e nos adaptar é o que nos torna verdadeiramente resilientes.

    Vamos seguir em frente, mais fortes e mais preparados do que nunca. Pra cima! 🚀