O erro 405 Not Allowed indica que o servidor entende a requisição, mas não permite o método HTTP utilizado para acessar o recurso solicitado.
Esse é um dos problemas mais frustrantes que desenvolvedores enfrentam ao trabalhar com APIs e servidores web. Por isso, continue a leitura e entenda como identificar e resolver esse erro.
Como corrigir o erro 405 no seu site?
Conheça algumas formas para corrigir o erro 405.
Verifique se a URL está correta
Antes de qualquer troubleshooting (uma técnica usada para corrigir possíveis falhas no processo) mais complexo, é fundamental ter certeza de que você acessa o endereço certo da sua URL. É como conferir se você bate na porta certa antes de tentar arrombar a fechadura.
Para isso:
-
- Confirme na documentação da API se o endereço que você usa está exatamente igual ao especificado. Por exemplo, se a documentação lista /api/users e você acessa /api/user, o erro 405 pode aparecer;
- Faça uma verificação detalhada da URL em busca de erros de digitação ou caracteres especiais que não deveriam estar ali. Às vezes, um simples “.” ou “/” extra pode causar o erro;
- Certifique-se que o endpoint que você acessa existe e funciona. Você pode testar isso ao usar ferramentas como Postman ou cURL para fazer requisições de teste;
- Experimente acessar a mesma URL em diferentes navegadores. Se o erro persistir em todos, é provável que o problema esteja no servidor ou na própria URL.
Lembre-se: muitos erros 404 podem se transformar em erros 405 se o servidor estiver configurado para responder de forma diferente a métodos HTTP distintos.
Identifique se o método HTTP utilizado é compatível
O erro 405 frequentemente ocorre quando você tenta usar um método HTTP que o servidor não aceita para aquele recurso específico.
É como tentar entrar pela janela quando a porta está aberta — tecnicamente, você quer acessar o mesmo lugar, mas o método não é permitido.
Por exemplo:
-
- Você tenta fazer um GET em um endpoint que só aceita POST;
- Usa DELETE em uma rota que só permite PUT;
- Envia um PUT para um recurso que só aceita GET e POST.
Para identificar o problema:
javascript // Requisição que pode gerar erro 405 fetch('/api/usuarios', { method: 'DELETE' // Se o endpoint não aceitar DELETE }); // Requisição correta fetch('/api/usuarios', { method: 'POST' // ao usar o método aceito pelo servidor });
Você pode verificar os métodos permitidos de duas formas:
-
- Consulte a documentação da API;
- Faça uma requisição OPTIONS para o endpoint e verifique o cabeçalho “Allow” na resposta.
Se você desenvolveu a API, certifique-se de configurar corretamente os métodos permitidos para cada rota.
Reverta atualizações recentes
Mudanças recentes no seu sistema podem ser a causa do erro 405. É como fazer uma reforma e descobrir que algo parou de funcionar — pode ser que a melhor solução seja voltar em um passo anterior.
Para reverter com segurança:
Identifique as últimas alterações feitas no sistema:
bash # Para projetos com Git git log --since="1 week ago" git revert # Para arquivos de configuração cp /etc/nginx/nginx.conf.backup /etc/nginx/nginx.conf
-
- Verifique atualizações recentes de:
- Arquivos de configuração do servidor;
- Dependências e bibliotecas;
- Framework ou CMS utilizado;
- Plugins e extensões.
- Faça um rollback controlado:
- Crie um backup do estado atual;
- Reverta uma alteração por vez;
- Teste após cada reversão;
- Documente o que funcionou.
- Verifique atualizações recentes de:
Se a reversão resolver o problema, você pode identificar exatamente qual mudança causou o erro 405 e corrigi-la adequadamente antes de implementá-la novamente.
Verifique configurações do banco de dados
Embora o erro 405 seja principalmente relacionado a métodos HTTP, problemas no banco de dados podem afetar o modo como sua aplicação responde às requisições:
-
- Verifique se o seu usuário tem as permissões necessárias;
- Confirme se as conexões se fecham corretamente;
- Teste se o banco aceita todas as operações (SELECT, INSERT, UPDATE, DELETE);
- Monitore o tempo de resposta das queries para identificar possíveis timeouts.
Se for WordPress, desinstale novos plugins, temas e extensões
Quando o erro 405 (Method Not Allowed) ocorre em um site WordPress, frequentemente a causa está relacionada a algum plugin, tema ou extensão instalada recentemente. Esses componentes podem modificar ou interferir na forma como o WordPress processa as requisições HTTP, causando conflitos que resultam no erro 405.
Para resolver esse problema, siga uma abordagem sistemática:
- Acesse o painel administrativo do seu WordPress e navegue até a seção “Plugins”.
- Identifique os plugins instalados mais recentemente, especialmente aqueles adicionados antes do surgimento do erro.
- Desative esses plugins um por um, verificando após cada desativação se o erro 405 foi resolvido.
- Se desativar os plugins não resolver, faça o mesmo com temas recentemente instalados, retornando temporariamente a um tema padrão do WordPress.
- Para extensões específicas ou componentes avançados que não aparecem no painel principal, verifique modificações feitas no .htaccess ou nas configurações do servidor.
- Após identificar o componente problemático, você pode optar por removê-lo completamente, buscar uma versão atualizada, ou entrar em contato com o desenvolvedor para relatar o problema.
Verifique configurações do servidor
Se você utiliza um VPS ou servidor dedicado, o erro 405 pode estar relacionado às configurações do seu servidor web. É como ter um segurança que segue uma lista muito restrita de permissões.
Para Apache
Procure o arquivo de configuração (geralmente em /etc/apache2/apache2.conf ou similar):
apache # Permite os métodos HTTP específicos AllowMethods GET POST PUT DELETE # Garante acesso ao diretório Require all granted # Opcionalmente, você pode adicionar headers CORS Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE"
Para Nginx
Observe o arquivo de configuração (geralmente em /etc/nginx/nginx.conf ou /etc/nginx/sites-available/default):
nginx location /api/ { # Define quais métodos HTTP são permitidos limit_except GET POST PUT DELETE { deny all; } # Configurações adicionais de CORS, se necessário add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE'; }
Após fazer alterações nas configurações:
-
- Avalie a sintaxe dos arquivos de configuração;
- Reinicie o servidor web;
- Teste novamente o endpoint que gerou o erro.
Lembre-se: configurações muito restritivas de segurança podem causar o erro 405, mas não comprometa a segurança do seu servidor apenas para resolver o erro.
Depure os logs do servidor
Os logs do servidor podem revelar informações cruciais sobre o erro:
-
- Acesse os logs de erro do seu servidor web;
- Procure por mensagens relacionadas ao erro 405;
- Verifique timestamps para correlacionar com o momento do erro;
- Analise as requisições que precederam o erro.
Verifique seu código e scripts
Um dos problemas mais comuns que causam o erro 405 está no próprio código da aplicação. É importante revisar como suas requisições HTTP foram construídas.
Aqui estão alguns exemplos de problemas e soluções:
javascript // Problema comum: método HTTP hardcoded const api = { getData: () => fetch('/api/data', { method: 'POST' }) // Deveria ser GET }; // Solução: deixar o método flexível const api = { getData: (method = 'GET') => fetch('/api/data', { method }) };
Corrija as permissões dos arquivos
Permissões incorretas podem causar problemas de acesso:
bash # Exemplo de correção de permissões chmod 644 /var/www/html/*.php chmod 755 /var/www/html/directories chown www-data:www-data /var/www/html/*
Verifique especialmente:
-
- Permissões de arquivos de configuração;
- Permissões de diretórios de upload;
- Ownership dos arquivos do servidor web;
- Permissões de arquivos de log.
Analise os registros A
Os registros DNS tipo A podem afetar como as requisições chegam ao seu servidor:
-
- Verifique se os registros A apontam para o IP correto;
- Confirme se não há conflitos de DNS;
- Aguarde a propagação após alterações (pode levar até 48 horas);
- Teste com diferentes servidores DNS.
Se necessário, entre em contato com o suporte da Locaweb para ajudar na configuração correta dos registros DNS do seu domínio.
O que fazer se o problema persistir?
Se você já implementou todas as soluções sugeridas e ainda enfrenta o erro 405, não se preocupe! A Locaweb oferece suporte técnico especializado para te ajudar a resolver esse e outros problemas relacionados ao seu VPS ou hospedagem.
Nossa equipe de suporte está preparada para:
-
- Realizar uma análise profunda do seu servidor e identificar possíveis conflitos de configuração ou problemas de permissão;
- Verificar logs detalhados do sistema para encontrar a raiz do problema;
- Sugerir ajustes específicos para seu caso, ao considerar a estrutura única do seu projeto;
- Auxiliar na implementação das correções necessárias.
O suporte técnico da Locaweb se destaca por:
-
- Atendimento 24 horas por dia, 7 dias por semana;
- Equipe com atendimento em português;
- Especialistas em diversas tecnologias e frameworks;
- Experiência com diferentes cenários e soluções;
- Acompanhamento até a resolução completa do problema.
Entre em contato com nosso suporte técnico pelos canais oficiais e tenha sua questão resolvida por quem realmente entende do assunto.
Nossa equipe está pronta para te ajudar a manter seu site em perfeito funcionamento!
O que é o erro 405 ‘not allowed’?
405 Not Allowed é uma resposta do servidor web que indica que o método HTTP utilizado na requisição não é permitido para o endereço solicitado.
Por exemplo, se um formulário está configurado para usar POST, mas a requisição é feita via GET, o servidor responderá com erro 405.
Causas do erro 405
O erro 405 (Method Not Allowed) ocorre quando o servidor entende a solicitação, mas o método HTTP utilizado não é permitido para o recurso solicitado. Vamos explorar as principais causas desse erro.
URL incorreta ou método HTTP inadequado
Quando você tenta acessar um recurso por meio de um método HTTP que não é suportado para esse endpoint específico, o servidor responde com o erro 405. Por exemplo, se um endpoint só aceita solicitações GET, mas você envia uma solicitação POST, DELETE ou PUT, o servidor rejeitará a requisição com esse erro.
Esse problema é comum em formulários web, onde o método padrão é GET, mas a ação exige um método POST para processamento correto dos dados.
Configurações incorretas no servidor
Configurações restritivas no servidor web podem causar o erro 405. O servidor pode ter regras que limitam quais métodos HTTP são permitidos para determinados recursos. Essas restrições são frequentemente implementadas por motivos de segurança, mas podem inadvertidamente bloquear métodos legítimos se não forem configuradas corretamente.
Servidores como Apache, Nginx ou IIS possuem diferentes formas de configurar os métodos HTTP permitidos, e intercorrências nessas configurações podem levar ao erro 405.
Problemas com permissões em APIs REST
Em APIs REST, diferentes endpoints geralmente suportam diferentes métodos HTTP. Um endpoint pode permitir GET para leitura de dados, mas não permitir DELETE ou PUT se a pessoa não tiver permissões adequadas.
Se uma API espera que certos cabeçalhos de autenticação ou autorização estejam presentes para métodos específicos, a ausência desses cabeçalhos pode resultar em um erro 405, mesmo que o método seja tecnicamente válido para esse recurso.
Diferenças entre back-end e front-end em aplicações web
Quando o front-end de uma aplicação web envia solicitações com métodos que o back-end não está programado para processar, ocorre o erro 405.
Isso pode acontecer durante o desenvolvimento quando há desalinhamento entre as equipes de front-end e back-end ou quando mudanças são feitas em um lado sem atualizar o outro.
Por exemplo, se os desenvolvedores de front-end alterarem um formulário para usar o método PUT em vez de POST, mas o back-end esperar apenas solicitações POST, o erro 405 será retornado.
Como evitar que o erro 405 aconteça?
Para evitar o erro 405, siga estas práticas recomendadas:
- Verifique a documentação da API: consulte a documentação para confirmar quais métodos HTTP são aceitos por cada endpoint antes de enviar solicitações.
- Utilize o método HTTP correto: certifique-se de usar o método apropriado para cada operação:
- Configure corretamente os servidores web: verifique se as configurações do servidor permitem os métodos necessários para sua aplicação.
- Implemente tratamento adequado de erros: adicione mensagens de erro claras que indiquem quais métodos são permitidos quando ocorre um erro 405.
- Teste regularmente os endpoints da API: realize testes que verifiquem se todos os métodos esperados funcionam corretamente.
- Sincronize as equipes de desenvolvimento: mantenha a comunicação entre as equipes de front-end e back-end para garantir que ambas estejam alinhadas quanto aos métodos HTTP utilizados.
- Use ferramentas de monitoramento: implemente ferramentas que possam alertar quando erros 405 ocorrerem em produção, o que permite correções rápidas.