503 Service Unavailable: o que significa e como resolver

Publicado:

17 min de leitura

Acar Diveroli
Autor: Acar Diveroli
Servidor iso com placa azul BUSY e duas órbitas com pontos de requisições na fila; uma caixa 503 no canto superior direito

Você abre um site e aparece uma página quase vazia: 503 Service Temporarily Unavailable em letras grandes e nginx embaixo. Outro site diz Service Unavailable e culpa uma manutenção ou problemas de capacidade. No Chrome, você pode ver em vez disso a página de erro do próprio navegador, "Esta página não está funcionando", com "HTTP ERROR 503" no rodapé.

Todos são o mesmo código de status HTTP e, entre os erros de servidor, o mais esperançoso: o próprio servidor diz que o problema é temporário. A seguir: o que ele significa, quem enviou a página, o que visitantes e donos de sites podem fazer, como programar uma manutenção sem prejudicar a busca e o que um 503 significa para scripts e proxies.

O que significa 503 Service Unavailable?

Um 503 significa que o servidor recebeu a sua requisição, mas se recusa a processá-la por enquanto. O padrão HTTP, RFC 9110, seção 15.6.4, aponta dois motivos: uma sobrecarga temporária ou uma manutenção programada, e espera-se que os dois passem depois de algum tempo. Como todo código que começa com 5, é um erro de servidor.

O que diferencia o 503 é que ele é temporário por definição. Um 500 diz que algo quebrou; um 503 diz "agora não". O servidor pode acrescentar um cabeçalho Retry-After, uma linha extra enviada com a resposta que diz quando voltar: um número de segundos (Retry-After: 120 são dois minutos) ou uma data. O navegador não mostra essa linha, mas scripts, apps e os rastreadores dos mecanismos de busca conseguem lê-la.

Um erro 503 é culpa sua?

Quase nunca. A sua conexão entregou a requisição e o servidor respondeu, só que não com a página; por isso, reiniciar o roteador não muda nada.

O seu próprio tráfego entra em jogo em um caso: um limite de taxa (rate limit). Alguns servidores respondem a requisições demais vindas de um mesmo endereço com um 503, em vez do mais específico 429 Too Many Requests, então uma página recarregada sem parar, ou um script, pode provocá-lo. Atrás da rede de um escritório ou de uma operadora móvel que divide um endereço público entre muitas pessoas, as requisições dos outros também contam. 429 Too Many Requests: o que é o erro de rate limit mostra como esses limites são contados.

Uma VPN ou um proxy também pode enviar um 503 próprio quando está sobrecarregado ou não consegue chegar ao site.

Como um 503 acontece, passo a passo?

  1. O seu navegador chega ao servidor da frente do site: um servidor web como nginx, Apache ou IIS, um balanceador de carga que distribui os visitantes entre vários servidores, ou uma CDN (rede de distribuição de conteúdo, um serviço que responde por um site a partir de muitos locais).
  2. O servidor da frente verifica se pode aceitar a requisição. A aplicação está rodando, há um worker livre, a fila está curta o suficiente, o modo de manutenção está ligado, este endereço passou de um limite de taxa?
  3. Uma verificação falha, por exemplo por causa de um pool de aplicativos parado ou de uma chave de manutenção ligada.
  4. O servidor responde 503, muitas vezes com Retry-After e uma página curta.
  5. O seu navegador mostra essa página, ou a própria página de erro se o 503 veio sem nenhuma.

Como é a página 503 e quem a envia?

O texto diz qual programa recusou a requisição, e isso mostra ao dono do site onde procurar.

O que você vêQuem enviaSignificado comum
503 Service Temporarily Unavailable, nginx embaixonginxUm limite de taxa ou uma regra de manutenção
Service Unavailable, …due to maintenance downtime or capacity problemsApache httpdMuitas vezes o Apache não conseguiu chegar à aplicação de trás
503 Service Unavailable, No server is available to handle this request.HAProxy, um balanceador de cargaTodos os servidores atrás dele estão fora do ar ou cheios
Error 503 Backend fetch failed, Guru Meditation e um XIDVarnish, um servidor de cacheNão conseguiu buscar a página no servidor do site
Service Unavailable, HTTP Error 503. The service is unavailable.IIS no Windows ServerO pool de aplicativos está parado ou sobrecarregado
"Momentaneamente indisponível para manutenção programada. Confira novamente em um minuto."WordPressUma atualização está em andamento ou foi interrompida
"Esta página não está funcionando", "HTTP ERROR 503"ChromeO 503 veio com uma página vazia

Os textos dos servidores vêm do código-fonte ou da documentação de cada programa, e a linha do WordPress, da tradução oficial do WordPress para o português do Brasil. Conferimos a última linha com um pequeno servidor de teste no nosso próprio computador: para um 503 vazio, o Chromium 145 mostrou o título "Esta página não está funcionando", a linha "localhost não consegue atender a esta solicitação no momento.", "HTTP ERROR 503" e um botão Recarregar (os textos em português estão no arquivo de tradução do Chromium); um 503 com página de manutenção mostrou essa página.

Qual é a diferença entre 500, 502, 503 e 504?

Os quatro são erros de servidor, mas só o 503 é definido como temporário; os outros três descrevem uma falha que dura até alguém consertar algo.

CódigoNomeO que aconteceuTemporário por definição?
500Internal Server ErrorA aplicação encontrou um erroNão
502Bad GatewayO gateway recebeu uma resposta quebrada, ou nenhumaNão
503Service UnavailableO servidor recusa trabalho por enquantoSim
504Gateway TimeoutO gateway esperou demais por uma respostaNão

Um gateway é o servidor da frente que repassa as requisições para a aplicação de trás. Na prática, os códigos se sobrepõem: a mesma aplicação parada aparece como 502 atrás do nginx e como 503 atrás do Apache ou do HAProxy. Erro 502 Bad Gateway: o que significa e como resolver trata do lado do gateway.

O que causa um erro 503?

Um servidor envia um 503 quando decide que recusar uma requisição é melhor do que tentar e falhar. Os gatilhos mais comuns:

  • Um pico de tráfego. Uma promoção, uma notícia ou uma onda de bots traz mais requisições do que há workers; recusar as que sobram evita que o servidor caia para todo mundo.
  • Manutenção programada. O dono ligou uma página de manutenção, ou o software fez isso durante uma atualização. O WordPress responde a toda requisição com um 503 e Retry-After: 600 enquanto uma atualização roda.
  • Uma aplicação parada. O programa que monta as páginas travou ou nunca iniciou. No IIS, isso aparece como um pool de aplicativos parado, o grupo de processos de trabalho que executa um site.
  • Nenhum servidor saudável atrás do balanceador de carga. O HAProxy responde 503 quando não há servidor disponível, ou quando todos estão no limite de conexões e uma requisição esperou mais do que permite a configuração timeout queue.
  • Um limite de taxa. O limitador de requisições do nginx rejeita com 503 as requisições acima do limite, a menos que seja configurado de outro jeito (limit_req_status). Um 503 que atinge só um visitante ou um script costuma ser um limite, não uma queda.
  • Uma dependência está fora do ar. Algumas aplicações respondem 503 enquanto o banco de dados ou outro serviço de que dependem está inacessível.

O que você pode fazer como visitante?

  1. Espere alguns minutos e recarregue uma vez. Se a página indicar um prazo, como o "Confira novamente em um minuto" do WordPress, siga esse prazo. Recarregar a cada poucos segundos só aumenta a carga.
  2. Veja se o site está fora do ar para todo mundo. Abra-o no celular, pelos dados móveis. Serviços grandes publicam as quedas em uma página de status: a da Apple se chama Status do sistema, e a da Microsoft é a página de status dos serviços (service health status).
  3. Desligue a sua VPN ou o seu proxy. Se a página carregar sem eles, o 503 veio do servidor da VPN, ou o site limita o tráfego vindo daquele endereço.
  4. Se só você recebe o erro, diminua o ritmo. Pare de atualizar, pause gerenciadores de download e procure uma extensão que recarregue abas automaticamente. Um limite de taxa costuma passar em poucos minutos.
  5. Avise o site com a hora, o endereço e tudo o que aparecer na página, como o XID do Varnish.

Limpar o cache raramente ajuda: um navegador não guarda um 503 para depois, a menos que o servidor permita isso de forma explícita, então cada recarga consulta o servidor de novo.

Se o site é seu: como corrigir um 503?

Comece descobrindo qual camada respondeu: o texto da página, a tabela acima e o cabeçalho de resposta server costumam dizer qual foi.

  1. Procure uma chave de manutenção que continue ligada. O WordPress cria um arquivo .maintenance na pasta raiz do site durante as atualizações e considera a manutenção encerrada quando o arquivo completa dez minutos; apagar o arquivo encerra a manutenção na hora. Uma regra de manutenção no seu servidor web ou na sua CDN precisa ser removida à mão.
  2. Confira se a aplicação está rodando. Reinicie o serviço ou o contêiner e procure o travamento no log dele. O Apache registra AH01114: HTTP: failed to make connection to backend quando o programa de trás não aceita conexões.
  3. No IIS, verifique o pool de aplicativos. No Gerenciador do IIS, abra Application Pools (Pools de aplicativos): um pool no estado Stopped (Parado) responde a toda requisição com 503. A proteção contra falhas rápidas (Rapid-Fail Protection) para um pool, por padrão, depois de cinco travamentos de processos de trabalho em cinco minutos; o log de eventos do sistema diz por quê. A lista de códigos de status do IIS da Microsoft explica os subcódigos, do 503.0 de um pool parado ao 503.4 de uma fila do FastCGI cheia.
  4. Leia o log do HTTP.sys no Windows. Requisições recusadas antes de chegar ao IIS ficam registradas em %SystemRoot%\System32\LogFiles\HTTPERR, com motivos como AppOffline, Disabled ou QueueFull no último campo.
  5. Teste as verificações de integridade do balanceador de carga. Uma verificação (health check) que falha mesmo com a aplicação funcionando tira todos os servidores da rotação, e o HAProxy passa a dizer que não há servidor disponível.
  6. Aumente a capacidade ou afrouxe limites que atingem pessoas reais. Se os 503 aparecem nos horários de pico, adicione workers, coloque em cache as páginas mais acessadas ou adicione servidores. Se escritórios ou usuários móveis esbarram no seu limite de taxa, aumente a margem para picos curtos (burst) e considere responder com 429.

Um monitoramento que carrega algumas páginas importantes a cada minuto avisa você antes dos seus clientes. Para ver se só uma região recebe erros 503, por exemplo visitantes direcionados a um local específico da CDN, faça a mesma verificação pelas saídas dos Proxies residenciais em alguns países.

Como colocar um site em manutenção sem prejudicar o SEO?

Responda com um 503 e um cabeçalho Retry-After. Uma página de "volto logo" enviada como 200 OK diz aos mecanismos de busca que o texto de manutenção é o conteúdo da página; um 404 diz que a página deixou de existir.

O guia do Google para pausar um site recomenda uma página informativa com 503 para fechamentos urgentes de um a dois dias, com Retry-After definido como uma data ou duração estimada da melhor forma possível, e trata isso como uma medida para alguns dias no máximo. Ele também alerta para nunca retornar 503 para o robots.txt, o arquivo que diz aos rastreadores o que eles podem buscar, porque isso bloqueia todo o rastreamento.

Os rastreadores do Google desaceleram quando um site retorna erros 5xx e voltam a acelerar aos poucos quando as páginas respondem normalmente; URLs que continuam retornando erros de servidor acabam removidas do índice. Sirva a página de manutenção como um arquivo estático direto do servidor web, e não pela aplicação que você está atualizando.

Nível avançado: veja um 503 e o Retry-After com o curl

Esta parte é para quem está à vontade com a linha de comando. O curl vem com o Windows 10, o Windows 11 e o macOS; no Windows PowerShell, digite curl.exe. O nosso pequeno servidor de teste em Node.js responde a toda requisição com um 503, Retry-After: 120 e uma página de manutenção de uma linha; nós o chamamos com o curl 8.22.0 no Windows 11:

bash
curl -sSi http://localhost:8503/
text
HTTP/1.1 503 Service Unavailable
Retry-After: 120
Content-Type: text/html; charset=utf-8
Cache-Control: no-store
Date: Sun, 15 Nov 2026 15:44:44 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked

<!doctype html><title>Down for maintenance</title><h1>Down for maintenance</h1><p>Back in about two minutes.</p>

-i mostra a linha de status e os cabeçalhos acima da página; -sS esconde a barra de progresso, mas mantém as mensagens de erro. Retry-After: 120 pede aos clientes que esperem dois minutos, e Cache-Control: no-store impede que navegadores e caches guardem o erro. Aponte o comando para o seu próprio site para ver o que ele realmente envia.

O que um 503 significa para scrapers e usuários de proxy?

Para um script, um 503 é um pedido para voltar mais tarde, e a resposta certa é fazer exatamente isso. Se houver Retry-After, espere esse tempo e pause todas as requisições para aquele site, não só a que falhou. Sem ele, aumente as pausas aos poucos: um segundo, depois dois, quatro e oito, com um pouco de aleatoriedade, e pare depois de algumas tentativas. Em seguida, reduza o número de requisições em paralelo.

Um 503 que só aparece quando o seu crawler acelera é, na prática, um limite de taxa. Diminua o ritmo até ele sumir; trocar de endereço IP para manter o mesmo ritmo ignora o que o site pediu.

Por um proxy, confira primeiro quem enviou o 503. Se foi o proxy, o site nunca viu a sua requisição e o curl mostra CONNECT tunnel failed, response 503; o Squid, um servidor proxy comum, faz isso quando não consegue resolver o nome do site. Um 503 do site chega por um túnel que funciona, com a própria página do site; por isso, teste a URL sem o proxy primeiro.

Um 503 cujo corpo é uma página de verificação (challenge), e não um aviso de manutenção, é uma decisão sobre o seu tráfego, não uma queda. Códigos de status HTTP no web scraping: 403, 407, 429, 503 mostra como diferenciar os dois casos, com uma função de nova tentativa testada que lê o Retry-After.

Onde você pode encontrar um 503

  • Apps na nuvem como OneDrive ou SharePoint durante um incidente do lado do serviço.
  • Venda de ingressos, lançamentos de produtos e resultados de provas nos primeiros minutos depois da abertura.
  • Sites em WordPress enquanto roda uma atualização de plugin, de tema ou do núcleo.
  • Os seus próprios scripts, quando o limite de taxa de um site usa 503 em vez de 429.

Erros comuns

  • Recarregar a cada poucos segundos: uma requisição a mais para um servidor que já está recusando trabalho.
  • Donos de sites: uma página de manutenção com status 200, que os mecanismos de busca tomam pelo conteúdo da página.
  • Donos de sites: um 503 que fica no ar por semanas. O Google trata isso como uma medida para alguns dias.
  • Donos de sites: responder ao robots.txt com 503, o que interrompe todo o rastreamento.
  • Scripts: ignorar o Retry-After ou trocar de IP para forçar a passagem por um limite.

Guia de decisão

A sua situaçãoO que fazer
Uma página 503 em um site, outros sites funcionamEspere alguns minutos e recarregue uma vez
Também falha nos dados móveisO site caiu; consulte a página de status dele
A página menciona manutenção programadaVolte no horário indicado
Só você recebe, depois de muitas recargasPare por alguns minutos e confira as extensões
Carrega com a VPN desligadaDeixe a VPN desligada para este site
O seu site WordPress ficou preso em manutençãoApague o .maintenance na raiz do site
O seu site no IIS, o pool aparece como StoppedCorrija o travamento pelo log de eventos e inicie o pool
O seu script recebe 503 com Retry-AfterEspere esse tempo para o site inteiro e reduza a concorrência

Perguntas frequentes

Um erro 503 Service Unavailable é culpa minha?

Geralmente não: o servidor está sobrecarregado, em manutenção ou recusando trabalho de propósito. A exceção é um limite de taxa. Se você recarrega uma página muitas vezes ou roda um script, o site pode responder 503 até você diminuir o ritmo.

Quanto tempo dura um erro 503?

Depende da causa. Um pico de tráfego ou um reinício passa em segundos ou minutos, uma manutenção programada dura o tempo do trabalho, e o Retry-After, quando existe, dá a estimativa do próprio servidor. Um travamento que ninguém percebeu pode durar horas.

Por que o OneDrive, o SharePoint ou os serviços da Apple mostram 503 Service Unavailable?

Os apps deles buscam tudo nos servidores do serviço, e durante um incidente ou uma manutenção esses servidores respondem 503. O problema está do lado do serviço: consulte a página de status dos serviços da Microsoft ou a página Status do sistema da Apple e tente de novo mais tarde.

O que significa No server is available to handle this request?

É a página 503 embutida do HAProxy. O HAProxy é um balanceador de carga na frente do site, e todos os servidores atrás dele estavam fora do ar, reprovados na verificação de integridade ou ocupados demais. Só os operadores do site podem resolver.

O que significa Error 503 Backend fetch failed?

É a página de erro padrão do Varnish, um servidor de cache que fica na frente de muitos sites: ele não conseguiu buscar a página no próprio servidor do site. O XID abaixo de Guru Meditation ajuda os administradores a encontrar a requisição nos logs.

Um erro 503 prejudica o ranking de um site no Google?

Um 503 curto, não; os rastreadores do Google desaceleram e voltam depois, e é por isso que o 503 é o código certo para uma manutenção programada. Se as páginas continuam retornando 503 por muitos dias, o Google acaba removendo-as do índice.

Em resumo

Um 503 Service Unavailable significa que o servidor está acessível, mas recusa trabalho por enquanto, por sobrecarga, manutenção ou um limite, e o Retry-After pode dizer por quanto tempo. Visitantes esperam, recarregam uma vez e consultam páginas de status. Donos de sites encontram a camada que respondeu e corrigem a aplicação parada, o pool de backends vazio, o limite apertado demais ou a chave de manutenção esquecida. Scripts respeitam o Retry-After e diminuem o ritmo. Os tipos de proxy para monitoramento e coleta de dados estão na nossa página de proxies.