Errores acontecem – há alguma manutenção inesperada, um bug que passou despercebido, ou uma página fica viral e o dilúvio de conexões leva o servidor para baixo.

Se você está online há algum tempo, sem dúvida você viu o erro um pouco vago do Serviço 503 Não Disponível.

Neste artigo vamos rever os códigos de status HTTP, o que significa o erro 503, e algumas maneiras possíveis de resolvê-lo – tanto para um site que você está tentando visitar como para seu próprio site.

Uma visão geral dos códigos de status HTTP

Servidores que hospedam páginas web escutam pedidos de navegadores ou dispositivos web, também conhecidos como clientes. O servidor então usa um monte de códigos de status diferentes para se comunicar de volta.

Estes códigos de status são organizados em classes diferentes, que é indicado pelo primeiro número do código de status:

  • 1xx: Informação – o servidor ainda está processando a solicitação
  • 2xx: Sucesso – a solicitação foi bem sucedida e o servidor responde com a página ou recurso
  • 3xx: Redirecionamento – a página ou recurso foi movida e o servidor responderá com sua nova localização
  • 4xx: Erro do cliente – há um erro no pedido do navegador ou dispositivo
  • 5xx: Erro do servidor – há um erro com o servidor

Os dois últimos dígitos de cada código de status HTTP representam um status mais específico para cada classe. Por exemplo, 301 significa que uma página ou recurso se moveu permanentemente, enquanto 302 significa que a mudança é temporária.

Check out this page for a list of common HTTP status codes and their meaning: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

A maioria dos códigos de status passam totalmente despercebidos, o que é bom porque significa que tudo está funcionando. É apenas quando você chega ao intervalo 4xx-5xx que você pode notar um código de status porque você verá uma página como esta:

Uma página de erro típica 503 – Fonte: Stack Overflow

Agora você tenha um entendimento básico dos códigos de status HTTP, vamos cavar um pouco mais fundo no erro 503 Service Unavailable error.

O que significa o código de erro 503?

Como mencionado acima, 5xx códigos de status significam que há um problema com o próprio servidor.

A 503 Service Unavailable error significa que a página ou recurso está indisponível. Há muitas razões pelas quais um servidor pode retornar um erro 503, mas algumas razões comuns são manutenção, um bug no código do servidor, ou um pico repentino no tráfego que faz com que o servidor fique sobrecarregado.

A mensagem que é enviada com o erro 503 pode variar dependendo do servidor de onde ele vem, mas aqui estão algumas das comuns que você verá:

– Serviço 503 Indisponível
– Serviço 503 Temporariamente Indisponível
– Erro do Servidor HTTP 503
– Erro do Servidor HTTP 503
– Erro do Serviço 503 Indisponível
– O servidor está temporariamente impossibilitado de atender a sua solicitação devido a problemas de manutenção ou de capacidade. Por favor tente novamente mais tarde.
Source

-Seja qual for o motivo do erro 503, normalmente é temporário – o servidor será reiniciado, o tráfego irá diminuir e o problema será resolvido por si mesmo.

Como resolver o erro 503 Status Unavailable error

Quando se tenta resolver um erro 503, existem dois campos gerais.

O primeiro é onde você é um usuário final, e está tentando visitar um site que você não possui. No segundo, você é dono do site, e está jogando 503 erros para as pessoas que estão tentando visitar.

O método para resolver 503 erros é diferente, dependendo do grupo em que você se encaixa. Vamos ver algumas coisas que pode fazer como utilizador final se vir um erro 503.

Como resolver um erro 503 de estado Não disponível como utilizador final

Os códigos de estado 5xx significam que o erro está no lado do servidor, não há muito que possa fazer directamente.

Even embora 503 erros sejam geralmente temporários, há algumas coisas que você pode fazer enquanto espera.

#1: Atualizar a página

Por vezes o erro é tão temporário que uma simples atualização é tudo o que é preciso. Com a página aberta, basta pressionar Ctrl – R no Windows e Linux, ou Cmd – R no macOS para atualizar a página.

#2: Veja se a página está em baixo para outras pessoas

A próxima coisa que você pode fazer é usar um serviço como Is It Down Right Now? ou Down For Everyone Ou Just Me para ver se outras pessoas estão recebendo o mesmo erro.

Apenas vá para um desses sites e entre na URL da página que você está tentando visitar.

O serviço vai pingar a URL que você digitou para ver se ele recebe uma resposta. Então ele mostrará algumas estatísticas e gráficos legais sobre a página:

Check freeCodeCamp on Is It Down Right Now?

Se você rolar um pouco para baixo você verá alguns comentários de outras pessoas. Muitas vezes as pessoas darão sua localização geral e outros dados, então esta pode ser uma boa maneira de determinar se o erro está apenas afetando certas regiões ou dispositivos específicos.

#3: Reinicie seu roteador

Por vezes o problema tem a ver com uma falha no servidor DNS.

DNS significa Domain Name System, e eles basicamente atuam como tradutores entre endereços IP e URLs legíveis por humanos.

Por exemplo, você pode visitar o Google digitando seu endereço IP longo diretamente (172.217.25.206), ou você pode simplesmente entrar na URL, www.google.com.

É um DNS, muitas vezes hospedado em um servidor, que lida com tudo o que está por trás dos bastidores.

Tudo isso quer dizer, muitas respostas de cache de roteadores de servidores DNS (www.google.com <===> 172.217.25.206). Mas às vezes esta cache pode ficar corrompida e causar erros.

Uma maneira fácil de reiniciar ou “limpar” a cache é reiniciar seu roteador. Apenas desconecte seu roteador por cerca de 5 segundos, depois conecte-o novamente.

Deve reiniciar após um minuto e todos os seus dispositivos devem reconectar-se automaticamente. Quando o fizerem, tente visitar o site novamente.

Como resolver um erro de estado 503 Não disponível como proprietário do site

Se for o proprietário/desenvolvedor do site que está a devolver 503 erros, há um pouco mais que pode fazer para diagnosticar e resolver o problema.

Aqui estão algumas dicas gerais para começar:

#1: Reinicie o servidor

Desenvolvimento é difícil – mesmo uma simples página estática pode ter tantas partes móveis que pode ser difícil localizar o que está causando o erro 503.

Por vezes o melhor a fazer é reiniciar o servidor e ver se isso corrige o problema.

Source: imgflip

O método exato de reiniciar o servidor pode variar, mas normalmente você pode acessá-lo a partir do painel do seu provedor ou por SSH’ing no servidor e executando um comando de reinício.

O servidor deve reiniciar após alguns minutos. Se você configurou tudo para rodar automaticamente no boot, você pode visitar seu site e ver se ele está funcionando.

#2: Verifique os logs do servidor

A próxima coisa a fazer é verificar os logs.

A localização dos logs do servidor pode variar dependendo do serviço que você está rodando, mas eles são frequentemente encontrados em /var/log/....

Dê uma olhada em torno desse diretório e veja se você pode encontrar alguma coisa. Se não, verifique o manual dos seus programas executando man program_name.

#3: Verifique se há manutenção automatizada em curso

Alguns provedores de serviços oferecem atualizações e manutenção de pacotes automatizados. Normalmente isto é uma coisa boa – eles normalmente ocorrem durante o tempo de inatividade, e ajudam a garantir que tudo esteja atualizado.

Ocasionalmente 503 erros são devidos a estas sessões de manutenção agendadas.

Por exemplo, alguns provedores de hospedagem especializados em hospedagem WordPress atualizam automaticamente o WP sempre que há uma nova versão. O WordPress retorna automaticamente um erro 503 Service Unavailable error sempre que ele estiver sendo atualizado.

Check with your service providers to see if the 503 error is being caused by scheduled maintenance.

#4: Check your server’s firewall settings

Sometimes 503 Service Unavailable errors are cause by a misconfigured firewall where connections can get through, but fail to get back out to the client.

Seu firewall também pode precisar de configurações especiais para um CDN, onde múltiplas conexões de um pequeno punhado de endereços IP podem ser mal interpretadas como um ataque DDoS.

O método exato de ajustar as configurações do seu firewall depende de muitos fatores. Dê uma olhada no seu pipeline e nos painéis do seu provedor de serviços para ver onde você pode configurar o firewall.

#5: Verifique o código

Bugs, como erros, acontecem. Por mais que você tente, é impossível pegá-los todos. Ocasionalmente pode ocorrer um erro 503.

Se você tentou tudo o resto e seu site ainda está mostrando um erro 503 Service Unavailable error, a causa pode estar em algum lugar no código.

Cheque qualquer código do lado do servidor, e preste atenção especial a qualquer coisa que tenha a ver com expressões regulares – um pequeno bug regex é o que causou um enorme pico no uso da CPU, interrupções de funcionamento, e cerca de três dias de pânico para nós no freeCodeCamp.

Esperosamente você será capaz de rastrear o culpado, implementar uma correção, e tudo voltará ao normal.

Em resumo

Isso deve ser tudo o que você precisa saber sobre 503 Serviços Erros indisponíveis. Embora normalmente não haja muito que você possa fazer quando você vê um erro 503, esperemos que alguns destes passos ajudem na próxima vez que você encontrar um.

Fique seguro, e feliz refrescar-until-it-works 🙂