O erro 504 Gateway Timeout acontece quando um servidor que funciona como intermediário (um gateway ou proxy) não recebe a resposta de outro servidor dentro do tempo esperado, e desiste de aguardar. Em termos simples: um servidor ficou esperando outro responder, o tempo se esgotou, e o resultado é o erro 504. É um erro de servidor (da família 5xx) — na maioria das vezes o problema está do lado do site ou da hospedagem, não do seu computador. Você pode vê-lo também como “504 Gateway Time-out”, “Gateway Timeout Error” ou “HTTP Error 504” — é o mesmo erro.
Conteúdo
502 vs 503 vs 504
Os três são erros de servidor (5xx) e costumam ser confundidos, mas têm causas diferentes:
| Erro | O que significa | Causa típica |
|---|---|---|
| 502 Bad Gateway | O gateway recebeu uma resposta inválida do servidor de origem. | Resposta corrompida ou serviço caído. |
| 503 Service Unavailable | O servidor está temporariamente indisponível. | Sobrecarga ou manutenção. |
| 504 Gateway Timeout | O gateway não recebeu resposta a tempo do servidor de origem. | Lentidão ou falta de resposta do upstream. |
Em resumo: no 502 a resposta veio, mas inválida; no 503 o servidor avisou que está fora; no 504 o servidor simplesmente demorou demais e o intermediário desistiu de esperar.
504 ou 524? A diferença importa se você usa Cloudflare
Se o seu site passa por uma CDN, vale conhecer essa distinção antes de mexer em qualquer configuração — ela indica onde está o problema.
O 504 é um código HTTP padrão, que qualquer proxy reverso pode retornar. Já o 524 (A timeout occurred) é um código próprio do Cloudflare, e significa uma coisa específica: o Cloudflare conseguiu falar com o seu servidor, mas ele não respondeu dentro do tempo limite.
O teste é direto:
- Você vê 524 → é o Cloudflare esperando a sua origem. O problema está na lentidão do seu servidor.
- Você vê 504 mesmo com o Cloudflare desativado → é configuração do seu Nginx, Apache ou PHP-FPM.
E há uma limitação importante: nos planos Free, Pro e Business do Cloudflare, o tempo limite é de 100 segundos e não pode ser aumentado. Se o seu backend demora mais que isso, as únicas saídas são otimizar o processamento, mover a tarefa demorada para execução em segundo plano, ou migrar para o plano Enterprise.
Principais causas do erro 504
Antes das causas, vale entender o caminho que a requisição percorre — porque o 504 pode nascer em qualquer elo:
Navegador → CDN (Cloudflare) → Proxy reverso (Nginx) → Aplicação (PHP-FPM) → Banco de dados
Essa cadeia é a versão prática do modelo OSI: cada elo atua numa camada diferente, e identificar em qual delas a falha aconteceu é o que torna o diagnóstico objetivo.
Qualquer elo lento gera o erro, e quem devolve o 504 é sempre o elo imediatamente à frente do que travou. Por isso identificar a camada é o primeiro passo: os cabeçalhos de resposta mostram qual servidor gerou o erro. Na prática, os culpados mais frequentes são a aplicação e o banco de dados.
CDN mal configurada — em alguns casos a rede de distribuição de conteúdo pode disparar o 504.
Sobrecarga do servidor de origem — a causa mais comum. Picos de tráfego, recursos esgotados (CPU, RAM) ou processos PHP no limite fazem o servidor demorar a responder.
Falhas de rede entre os servidores — perda de pacotes, lentidão de roteamento ou falha de conexão entre o gateway e o servidor de origem.
Problemas de DNS — especialmente após uma migração de servidor ou troca de domínio, quando o DNS ainda não propagou (pode levar até 24 horas) ou aponta para o endereço errado.
Proxy ou firewall mal configurado — regras que interrompem ou atrasam a comunicação entre os servidores.
Consultas lentas ao banco de dados ou scripts demorados — uma importação grande no WordPress, um relatório pesado, uma query não otimizada.
Chamadas a APIs externas travadas — gateways de pagamento, integrações de newsletter, login social. O PHP fica esperando a resposta de um servidor de fora, e a página trava junto. É uma das causas menos óbvias e mais frequentes em lojas virtuais.
Consultas MySQL sem índice — especialmente em WooCommerce com muitos pedidos, onde uma tabela mal indexada transforma um carregamento simples numa espera de vários segundos.
Ataque DDoS — uma enxurrada de requisições esgota os recursos e a origem fica lenta demais para responder ao tráfego legítimo dentro da janela do proxy.
Como resolver — se você é o visitante
Embora o 504 seja quase sempre um problema do servidor, vale descartar causas locais antes:
- Recarregue a página — o 504 muitas vezes é momentâneo. Pressione
F5ouCtrl + R(Cmd + Rno Mac). Espere um ou dois minutos e tente de novo. - Limpe o cache e os cookies do navegador, ou teste em uma aba anônima.
- Tente outro navegador ou dispositivo para isolar o problema.
- Reinicie o modem/roteador — falhas de conexão local podem contribuir.
- Troque o DNS para um público, como o do Google (
8.8.8.8) ou Cloudflare (1.1.1.1), e limpe o cache de DNS do sistema (ipconfig /flushdnsno Windows).
Como resolver — se você é o dono do site
Como o 504 é um erro de servidor, é aqui que mora a solução real:
- Verifique a carga do servidor — CPU, memória e número de processos. Sobrecarga é a causa nº1. Os logs de erro (Apache em
/var/log/apache2/, Nginx em/var/log/nginx/) costumam apontar o motivo. - Reinicie os serviços — reiniciar o servidor web ou o servidor de origem libera processos travados e conexões presas.
- Aumente os tempos limite (timeout) — se requisições legítimas estão sendo cortadas por demorarem além do padrão, aumente as diretivas de timeout.
Vale um aviso: aumentar o timeout compra tempo, mas nunca cura código lento. Se uma página legítima demora 200 segundos, o problema é a página — o timeout maior só evita que ela seja interrompida enquanto você corrige a causa real.
# Nginx (nginx.conf ou o server block do site)
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
send_timeout 300; Timeout no httpd.conf. Depois, recarregue o servidor (systemctl reload nginx ou apache2).- Verifique o DNS — se o 504 surgiu após uma migração ou troca de domínio, confirme se o DNS propagou e aponta para o servidor certo.
- Aumente os processos PHP — peça ao seu provedor para aumentar o número de PHP threads, para o site executar mais requisições ao mesmo tempo.
- Verifique o firewall — regras mal configuradas podem bloquear a comunicação entre servidores.
- Teste sem a CDN — desative temporariamente para descartar a CDN como causa.
- No WordPress: desative os plugins (renomeie a pasta
wp-content/plugins), troque para um tema padrão, e otimize consultas lentas ao banco. Importações grandes costumam estourar o tempo limite.
PHP-FPM: a causa nº 1 em sites WordPress
Na maioria dos sites WordPress modernos, o 504 nasce aqui — e entender o mecanismo evita muito tempo perdido.
O Nginx não executa PHP: ele repassa a requisição ao PHP-FPM, que mantém um número limitado de workers. Quando todos estão ocupados, cada nova requisição entra numa fila esperando um worker liberar. Esse tempo de fila conta para o timeout do Nginx — e é assim que o 504 aparece mesmo com o PHP funcionando normalmente.
A regra que resolve a maior parte dos casos: o fastcgi_read_timeout do Nginx precisa ser maior ou igual ao max_execution_time do PHP. Se o Nginx desiste antes de o PHP terminar, o 504 é garantido, por mais que o script fosse concluir.
# Nginx — no bloco location do PHP
fastcgi_read_timeout 300;
# PHP-FPM — no arquivo do pool (www.conf)
request_terminate_timeout = 300 E no PHP, o max_execution_time correspondente — nosso guia sobre max_execution_time mostra onde alterar.
Depois de mudar, reinicie o serviço: systemctl restart php8.2-fpm (ajuste para a sua versão) e recarregue o Nginx.
⚠️ Nunca use max_execution_time = 0 em produção. Sem limite, um script travado segura o worker indefinidamente — e com o pool cheio, o site inteiro para.
Se o 504 começou logo após uma migração de servidor ou troca de hospedagem, a causa mais provável é o DNS ainda não propagado. A propagação pode levar até 24 horas. Antes de mexer em qualquer configuração, espere o DNS propagar e confirme se os registros apontam para o servidor novo.
Um 504 isolado não é problema, mas erros 504 recorrentes atrapalham o rastreamento do Google: páginas deixam de ser indexadas e o ranking pode cair com o tempo. Monitore os erros de rastreamento no Google Search Console e, se forem frequentes, trate a causa (quase sempre, recursos de servidor insuficientes).
Se o seu site vive estourando o tempo limite, normalmente faltam recursos. Na Homehost você tem servidores no Brasil, recursos escaláveis e suporte humano em português para manter seu site no ar — sem ficar refém de timeouts.
Conhecer a hospedagem HomehostPerguntas frequentes
O que significa o erro 504 Gateway Timeout?
Significa que um servidor intermediário (gateway ou proxy) não recebeu a resposta de outro servidor dentro do tempo esperado e desistiu de aguardar. É um erro de servidor da família 5xx, geralmente ligado a sobrecarga, lentidão ou falha de comunicação entre servidores.
O erro 504 é problema do meu computador ou do site?
Quase sempre é do site ou do servidor — o 504 é um erro do lado do servidor. Ainda assim, vale recarregar a página, limpar o cache e testar outro navegador ou rede para descartar causas locais antes de concluir que o problema é do site.
Qual a diferença entre 502, 503 e 504?
No 502 Bad Gateway, o servidor intermediário recebeu uma resposta inválida do servidor de origem. No 503, o servidor está temporariamente indisponível (sobrecarga ou manutenção). No 504, o servidor de origem simplesmente demorou demais para responder e o intermediário desistiu de esperar.
Qual a diferença entre erro 504 e 524?
O 504 é um código HTTP padrão que qualquer proxy reverso pode retornar. O 524 é específico do Cloudflare e significa que ele conseguiu contato com a sua origem, mas ela não respondeu dentro do tempo limite — 100 segundos nos planos Free, Pro e Business, valor que não pode ser aumentado nesses planos. Se você vê 504 mesmo com o Cloudflare desativado, o problema está no seu servidor.
Por que o PHP-FPM causa erro 504?
Porque o Nginx não executa PHP: ele repassa a requisição ao PHP-FPM, que tem um número limitado de workers. Quando todos estão ocupados, as novas requisições entram numa fila, e esse tempo de espera conta para o timeout do Nginx. A regra prática é manter o fastcgi_read_timeout do Nginx maior ou igual ao max_execution_time do PHP.
Aumentar o timeout resolve o erro 504?
Só temporariamente. Aumentar o fastcgi_read_timeout ou o proxy_read_timeout evita que requisições legítimas sejam cortadas, mas não torna o site mais rápido. Se a página demora demais, a causa real é uma consulta lenta, um plugin pesado, uma API externa travada ou falta de recursos — e é isso que precisa ser corrigido.
O erro 504 apareceu depois que migrei meu site. Por quê?
Provavelmente é o DNS ainda não propagado. Após uma migração de servidor ou troca de hospedagem, os registros DNS levam até 24 horas para propagar pelo mundo. Espere a propagação completar e confirme se os registros apontam para o servidor novo.
Como saber qual servidor gerou o erro 504?
Pelos cabeçalhos de resposta, que indicam qual camada devolveu o erro. A cadeia costuma ser navegador → CDN → proxy reverso → aplicação → banco de dados, e quem devolve o 504 é sempre o elo imediatamente à frente do que travou. Desativar a CDN temporariamente também ajuda a isolar: se o erro continua sem ela, a causa está no seu servidor.
O erro 504 prejudica o SEO?
Um 504 ocasional não prejudica. Mas erros 504 frequentes atrapalham o rastreamento do Google — páginas podem deixar de ser indexadas e o ranking pode cair. Monitore pelo Google Search Console e trate a causa, que costuma ser falta de recursos no servidor.
Veja também
O erro 504 é um dos códigos de status HTTP da classe 5XX (erros do servidor). Veja também os primos da mesma família: 500 Erro Interno do Servidor, 502 Bad Gateway e 503 Serviço Indisponível.
Se o erro que você vê não é de servidor, mas de conexão interrompida no navegador, veja também o ERR_CONNECTION_CLOSED.
Conclusão
O erro 504 Gateway Timeout é a forma do servidor dizer que um intermediário esperou outro servidor responder e o tempo se esgotou. Por ser um erro de servidor, na maioria das vezes a solução está do lado do site: aliviar a sobrecarga, aumentar os tempos limite, verificar o DNS após uma migração, otimizar consultas lentas ou aumentar os recursos. Como visitante, recarregar a página e limpar o cache resolvem os casos momentâneos. E se o 504 se repete com frequência, costuma ser o sinal mais claro de que o servidor não dá conta da demanda — hora de considerar uma hospedagem com mais recursos, como os planos da Homehost.