Erro 405 Method Not Allowed: o que é e como corrigir

Erro 405 Method Not Allowed: o que é e como corrigir

Embora seja um erro que acontece no lado do cliente, o código de erro “405 Method Not Allowed” — também conhecido como erro 405 Método Não Permitido — é frequentemente causado por alguma configuração do lado do servidor. 

Na maioria dos casos, esse erro ocorre quando um cliente tenta usar um método HTTP que o servidor não permite ou não oferece suporte para o recurso solicitado.

Código do erro405 Method Not Allowed
Tipo do erroErro do lado do cliente
Variações do erroErro HTTP 405 – Método Não Permitido
HTTP 405 Método Não Permitido
405 Não Permitido
Método Não Permitido
Erro HTTP 405
Causas do erroMétodo HTTP inaceitável
Configuração incorreta do servidor
Restrições de API
Regras específicas de firewall

Por exemplo, usar o método HTTP POST em uma URL que aceita apenas solicitações GET pode levar ao erro 405. Isso costuma ser o caso quando se lida com páginas estáticas que só podem ser recuperadas, não alteradas.

Além de um método de solicitação não suportado, existem outras possíveis causas para o erro:

  • Configurações do servidor. Alguns servidores web podem ser configurados para rejeitar certos métodos HTTP por razões de segurança ou devido a uma configuração inadequada.
  • Regras do Web Application Firewall (WAF) . Às vezes, camadas de segurança como WAFs bloqueiam certos tipos de solicitações HTTP, o que pode resultar em um erro 405.
  • Restrições de API. Ao interagir com APIs, o mesmo erro pode ocorrer se a API não suportar o método usado na solicitação.

Dependendo do navegador, aqui está um exemplo de como o erro aparece na sua tela:

exemplo de erro 405 exibido em navegador

O erro “405 Method Not Allowed” ocorre quando o servidor web entende a solicitação inicial feita por um cliente, mas rejeita o método HTTP fornecido, mesmo que o recurso exista. Como o navegador não consegue acessar a página solicitada, ele mostrará a mensagem de erro 405.

Como corrigir o erro “405 Method Not Allowed”

Não importa a causa: vamos ver como corrigir o erro 405. Aqui estão vários métodos que você pode tentar para começar a solucionar problemas.

1. Verifique o URL

A maioria dos servidores web é configurada de uma maneira que URLs incorretos não podem enviar usuários para as páginas erradas. É por isso que a chance de encontrar um erro 405 devido a um URL incorreto é muito pequena.

Dito isto, verificar a URL digitada não requer muito esforço da sua parte. Este método pode parecer simples, mas você economizará muito tempo na resolução de problemas se ele funcionar.

Sempre que você encontrar páginas da web com o erro “405 Não Permitido”, veja se não há uma letra faltando ou uma palavra escrita incorretamente no URL. Depois de corrigir o URL incorreto, atualize a página e veja se ela carrega corretamente.

Se o problema persistir, tente a segunda solução.

2. Reverta atualizações recentes

Às vezes, a página de erro 405 aparece depois que você atualiza seu site. Para resolver o problema, tente reverter quaisquer atualizações recentes feitas em seu site, incluindo extensões, módulos, temas ou plugins.

O processo pode variar de uma plataforma ou aplicação para outra. Por exemplo, se você tem um site WordPress, use um plugin como o Core Rollback para restaurar seu site a uma versão anterior.

Lembre-se, sempre verifique seu site após cada atualização para evitar o código de status 405 HTTP.

3. Verifique se há alterações inesperadas no banco de dados

Outra possível razão para o código de resposta “405 Method Not Allowed” são as alterações no banco de dados.

Para investigar se a causa está neste universo, verifique a última vez que seu banco de dados foi atualizado. Isso pode revelar se uma mudança recente, possivelmente feita por uma extensão, está relacionada ao problema.

Lembre-se: algumas extensões podem modificar seu banco de dados e podem não reverter as alterações mesmo se desinstaladas.

Os passos para verificar as alterações variam dependendo do banco de dados que você usa. Clientes da Hostinger podem seguir este guia:

  1. Faça login na sua conta hPanel, vá para Sites e clique em Gerenciar ao lado do domínio em questão.
  2. No Painel de Controle, selecione Bancos de Dados para acessar a interface de gerenciamento de banco de dados. Depois disso, selecione o banco de dados MySQL do seu site e clique no botão Entrar no phpMyAdmin à direita.
hpanel com botão entrar no phpmyadmin em destaque
  1. Dentro do phpMyAdmin, selecione seu banco de dados e navegue até a aba SQL .
  2. Execute a consulta abaixo para determinar a data e hora da última atualização do seu banco de dados. Certifique-se de substituir nome_do_banco_de_dados pelo nome verdadeiro do seu banco de dados:
SELECT
    UNIX_TIMESTAMP(MAX(UPDATE_TIME)) AS last_update
FROM
    information_schema.tables
WHERE
    TABLE_SCHEMA = 'nome_do_banco_de_dados'
GROUP BY
    TABLE_SCHEMA;
  1. Clique em Ir no lado direito da página para completar o pedido, e ele mostrará quando você atualizou o banco de dados pela última vez.
checando alterações no banco de dados mysql para determinar causa do erro 405

Examine as tabelas e registros para descobrir quaisquer modificações que pareçam estranhas ou que possam ter sido alteradas por uma extensão.

Se você encontrar alterações suspeitas, considere revertê-las. No entanto, faça isso com cautela para evitar perder ou corromper dados inadvertidamente. Não deixe de fazer um backup do seu banco de dados para que você possa reverter as alterações caso algo dê errado.

Não tem muita segurança sobre como fazer alterações no seu banco de dados? Nesse caso, é melhor consultar nossos agentes de sucesso do cliente. Eles podem fornecer orientação e ajudar você a evitar modificações desnecessárias ou prejudiciais.

4. Desinstale novos plugins, temas e extensões

Ao instalar um tema, plugin ou extensão, o código do site pode ser alterado, causando o erro 405.

Se a mensagem de erro começar a aparecer após a instalação de um novo plugin, tema ou extensão, tente desinstalar e reinstalar novamente este software.

Se você usa o WordPress, vá para o Painel de Administração do WordPress → Plugins e clique no botão Desativar abaixo dos seus plugins mais recentes.

plugins wordpress

Para remover um tema do WordPress, navegue até Aparência → Temas. Se você estiver usando o tema que deseja desativar, primeiramente faça a alteração para algum outro tema. Então, passe o mouse sobre o tema suspeito, selecione Detalhes do Tema e clique no botão Excluir.

deletar tema no wordpress

Os usuários da Hostinger também podem excluir temas e plugins WordPress por meio do hPanel:

  1. Vá para Sites na barra de menu superior.
  2. Ao lado do domínio desejado, selecione Gerenciar.
  3. Na barra lateral esquerda, vá para WordPress → Segurança.
  4. Role para baixo até Temas instalados e Plugins instalados .
  5. Clique no ícone de lixeira ao lado de cada plugin ou tema que você deseja apagar.
lista de temas wordpress no hpanel
  1. Quando uma mensagem de confirmação aparecer, clique em Excluir.

Verifique se a mensagem de erro ainda aparece depois que você desativar seus plugins e temas mais recentes. Se o problema for resolvido, tente usar um plugin ou tema diferente no seu site.

5. Verifique os logs do servidor

Os registros (logs) do servidor são muito importantes para diagnosticar e entender o que acontece no seu site. Esses registros frequentemente contêm a resposta para resolver problemas como o erro “405 Método Não Permitido”.

Existem dois tipos principais de registros: logs de servidor e logs de aplicações.

Os logs de aplicações armazenam o histórico completo do que uma determinada aplicação realizou. Por outro lado, os logs do servidor tratam do hardware em si que executa as aplicações. Cada tipo de log desempenha um papel distinto no monitoramento e na resolução de problemas no seu site.

Logs do servidor

Os logs do servidor são mantidos pelos servidores web, como o Apache e o Nginx. Eles registram cada solicitação feita ao servidor e a resposta do servidor.

Esses registros geralmente são divididos em:

  • Logs de acesso. Fornece informações detalhadas sobre cada solicitação de acesso recebida pelo servidor e todos os serviços conectados. Isso costuma incluir o endereço IP do solicitante, data e hora da solicitação, método HTTP, URL solicitada e código de status HTTP.
  • Logs de erro. Contém erros de servidor, avisos e outras informações de diagnóstico. Esses registros são cruciais para identificar problemas que impedem o servidor de atender solicitações corretamente.

Para investigar um erro “405 Method Not Allowed”, você precisa examinar tanto os logs de acesso quanto os de erro.

Os logs de acesso ajudarão você a rastrear a solicitação específica que levou ao erro, enquanto os logs de erro oferecem pistas sobre o que deu errado no lado do servidor.

Logs de aplicações

Quase todas as aplicações web que funcionam no servidor mantêm um log de aplicação. Este registro traz o histórico completo das atividades do aplicativo, desde os resultados retornados pelo banco de dados até as páginas solicitadas.

Dependendo do método de registro da aplicação, esses registros podem variar significativamente em formato e nível de detalhe. Eles podem incluir:

  • Informações de depuração. Informações detalhadas sobre a execução do aplicativo, incluindo valores de variáveis e mudanças de estado.
  • Mensagens de erro. Informações sobre exceções ou erros encontrados durante a execução do aplicativo.
  • Trilhas de auditoria. Registros de ações ou eventos significativos dentro do aplicativo web, como logins de usuários, alterações de dados e alterações no estado do sistema.

Ao lidar com um erro “405 Método Não Permitido”, os logs de aplicação podem fornecer algum contexto sobre como a aplicação lidou com a solicitação e por que ela pode ter respondido com um erro 405.

Por exemplo, os logs podem revelar que a lógica de roteamento do aplicativo não suporta o método HTTP solicitado para a URL fornecida.

Acessando e analisando registros

Para acessar os logs do servidor, use um terminal Secure Shell (SSH) como o PuTTy para se conectar ao seu servidor. Isso lhe dará acesso à linha de comando para navegar pelo sistema de arquivos do seu servidor.

Depois disso, localize os arquivos de log em /var/log/apache2/ nos sistemas Ubuntu ou /var/log/httpd/ nos sistemas CentOS para o Apache. Se você usa NGINX, vá até  /var/log/nginx/. Independentemente do sistema operacional, você encontrará uma pasta logs no diretório raiz do aplicativo, que conterá tanto o access.log quanto o error.log.

Você pode usar comandos de visualização de texto como cat, less ou tail para visualizar o conteúdo desses arquivos de log. Por exemplo,  tail -f /var/log/apache2/error.log mostrará as últimas entradas no log de erros do Apache em tempo real.

Conseguiu acessar os logs? Agora é hora de analisá-los:

  • Logs de acesso. Procure por entradas que correspondam ao momento em que ocorreu o erro 405. Observe o método de solicitação, como GET ou POST, e a URL solicitada. Isso ajudará você a identificar a solicitação exata que levou ao erro.
  • Logs de erro. Preste atenção em quaisquer entradas que ocorram ao mesmo tempo que as entradas do log de acesso para o erro 405. Elas podem fornecer mais detalhes sobre por que a solicitação não foi permitida, como erros de configuração ou acesso negado devido a regras do servidor.

6. Verifique a configuração do seu servidor web

Se o problema “405 Método Não Permitido” persistir, verifique os arquivos de configuração do seu software de servidor web. Procure por quaisquer redirecionamentos não intencionais ou instruções de manipulação de solicitações.

A maioria dos servidores web usa arquivos de configuração que ditam como as solicitações são tratadas, e certas configurações incorretas nesses arquivos podem inadvertidamente bloquear certos métodos HTTP, levando ao erro 405.

Aqui está uma análise mais detalhada das configurações incorretas mais comuns tanto para Apache quanto para NGINX.

Apache

Os servidores Apache usam o arquivo .htaccess para definir regras para diretórios individuais.

Configurações incorretas podem surgir em diretrizes destinadas a restringir o acesso ou modificar o tratamento de solicitações. Em ambos os casos, isso pode inadvertidamente bloquear solicitações legítimas:

  • Regras do mod_rewrite. Usadas para reescrever URLs; podem ser configuradas incorretamente para rejeitar certos métodos. Por exemplo, uma RewriteRule destinada a redirecionar o tráfego pode não levar em conta a solicitação POST, causando um erro 405 para aquele método específico.
  • Diretiva Limit . Permite que você especifique quais métodos de solicitação são permitidos ou negados para o recurso alvo. Embora a diretiva Limit seja útil para melhorar a segurança, ela também pode acionar respostas de erro no lado do cliente se não for configurada com cuidado.

NGINX

O NGINX usa o nginx.conf como seu arquivo de configuração. Semelhante ao Apache, certas diretivas neste arquivo podem causar um erro 405 se estiverem configuradas incorretamente:

  • Blocos de localização . O NGINX processa solicitações usando blocos de localização, que podem ser configurados para lidar com métodos de solicitação específicos. Se um bloco de localização estiver configurado incorretamente para rejeitar certos métodos, isso pode levar a um erro 405.
  • Diretiva Error_page. Uma diretiva error_page usada incorretamente pode mascarar o erro real ou até mesmo causar o código de resposta 405. Isso ocorre porque os usuários podem ser redirecionados para um recurso que não aceita o método usado na solicitação.

Para evitar o erro 405, verifique o arquivo de configuração relevante com base no seu servidor web.

Os usuários do Apache podem acessar o arquivo .htaccess indo para o diretório raiz do site. O método mais comum para isso é usar um cliente FTP.

Dentro do arquivo, tente comentar temporariamente quaisquer diretivas RewriteRule que pareçam estranhas. Você pode usar o prefixo de caractere # e reiniciar o servidor web para ver se o erro é resolvido.

Se você usa o NGINX, acesse o arquivo nginx.conf através de um terminal SSH como o PuTTy. Uma vez que você tenha acessado o arquivo de configuração, procure por quaisquer diretivas que possam estar restringindo certos métodos HTTP.

Após fazer quaisquer edições, sempre reinicie seu servidor web para que as alterações entrem em vigor.

7. Verifique seu código e scripts

O erro 405 geralmente surge de métodos HTTP incompatíveis entre as solicitações do seu aplicativo e como o servidor está configurado para lidar com eles. Enquanto você estiver revisando seu código, foque nos elementos abaixo:

  • Verifique o uso do método HTTP . Certifique-se de que seu código envia os métodos corretos para as ações pretendidas – GET para recuperar dados, POST para criar dados e assim por diante.
  • Identifique métodos não suportados . Verifique se alguma das bibliotecas ou frameworks que você usa pode estar enviando métodos HTTP inesperados, que o servidor rejeita.

Uma revisão de código completa pode ajudar a prevenir erros 405 antecipadamente. Considere tentar o seguinte:

  • Revisão de código. Inspecione manualmente o código para confirmar se o site está usando os métodos HTTP apropriados e lidando corretamente com as respostas do servidor.
  • Teste de unidade . Implemente testes unitários (unit tests) que simulam diferentes métodos HTTP para identificar possíveis incompatibilidades durante o desenvolvimento.
  • Execute um processo de depuração . Copie seu site para uma máquina de desenvolvimento local e simule o cenário exato em que ocorre o “405 Method Not Allowed”.

Por exemplo, para sites WordPress, desative plugins e altere os temas para isolar o problema. Revise scripts personalizados e o arquivo .htaccess, e use as ferramentas de desenvolvedor do navegador para identificar solicitações problemáticas.

8. Restaure completamente o seu site a partir de um backup

Às vezes, o erro HTTP 405 aparece devido a problemas de compatibilidade. Restaurar seu site usando um backup pode resolver esta questão. Se você é cliente Hostinger, siga os passos abaixo:

  1. No hPanel, selecione Backups dentro de Arquivos.
O botão Backups no hPanel
  1. Clique em Selecionar em Backups de arquivos .
A página Backups no hPanel
  1. Selecione o backup do qual você deseja recuperar os arquivos e clique em Próximo passo.
backups de arquivos no hpanel
  1. Navegue pelas pastas e selecione quais delas você deseja restaurar. Clique em Restaurar arquivos.
restaurando arquivos de backup pelo hpanel
  1. O sistema iniciará o processo e notificará você assim que a restauração estiver completa.

9. Verifique novamente o arquivo .htaccess

Modificações incorretas nas regras de reescrita dentro do arquivo .htaccess de um site WordPress podem levar a erros 405.

Se você hospeda um site WordPress na Hostinger, siga este processo de solução de problemas:

  1. Vá para o hPanel e, no painel de controle do seu site, clique em Gerenciador de Arquivos.
acessando gerenciador de arquivos pelo hpanel
  1. No Gerenciador de arquivos , clique na pasta public_html .
pasta public_html no gerenciador de arquivos da hostinger
  1. Selecione o arquivo .htaccess .
Hostinger's file manager, o arquivo .htaccess é destacado
  1. Procure pelas linhas que usam diretivas de reescrita direcionando visitantes para um URL. Verifique a linha [R=405]. Se ela estiver lá, adicione um # no final da linha. Por fim, atualize seu site para ver se isso resolve o problema.
verificando linhas no arquivo .htaccess para determinar causa do erro 405

10. Corrija as permissões dos arquivos

As permissões de arquivo controlam quais usuários podem acessar e modificar arquivos. Uma configuração incorreta pode, às vezes, levar a erros 405, pois o servidor pode não ter as permissões necessárias para processar solicitações corretamente.

Existem diferentes maneiras de corrigir a propriedade dos arquivos dependendo da sua plataforma. Se você é cliente da Hostinger, acesse o hPanel e vá para as configurações de Restaurar Permissões de Arquivos no menu Avançado.

Depois disso, confirme que você deseja voltar aos valores padrão para os arquivos e pastas do seu site e clique em Executar.

opção de restaurar permissão de arquivo no hpanel da hostinger

11. Verifique os registros A

Configurações incorretas no Sistema de Nomes de Domínio (DNS) podem levar a solicitações sendo enviadas para o servidor errado. Este servidor pode não estar configurado para lidar com métodos HTTP específicos, potencialmente resultando em um código de status HTTP 405.

Verifique os registros A para ter certeza de que todos os detalhes estão corretos. O registro A é o tipo mais básico de registro DNS que aponta um domínio ou subdomínio para um endereço IP.

Os passos para acessar seu registro DNS dependem do seu provedor de hospedagem web. Os usuários da Hostinger podem acessar seus registros de banco de dados indo para o hPanel e selecionando o Editor de zona DNS no menu Avançado:

botão do editor de zona dns do hpanel

Verifique se o seu registro A contém essas informações:

  • Tipo . O tipo de registro DNS deve ser A.
  • Nome . Use @ se o nome do domínio ou subdomínio apontar para outro endereço IP.
  • Aponta para . Verifique se o seu domínio ou subdomínio aponta para o endereço IP correto.
  • Tempo de Vida (TTL) . Indica por quanto tempo o resolvedor de DNS deve armazenar a consulta para este domínio no cache. A maioria dos provedores de hospedagem geralmente define este valor para 14400 segundos (4 horas).

As configurações de domínio que controlam o redirecionamento de URL ou comportamentos de proxy também podem impactar como as solicitações são processadas. Regras de redirecionamento ou proxies mal configurados podem alterar ou restringir métodos HTTP, levando a respostas inesperadas do erro “405 Method Not Allowed”.

Conclusão

Um erro “405 Method Not Allowed” ocorre quando um servidor web recebe uma solicitação usando um método HTTP que não suporta ou permite o recurso solicitado. Causas comuns incluem:

  • Configurações de servidor ou aplicativo web mal configuradas , restringindo certos métodos HTTP como POST, GET, PUT ou DELETE.
  • Código ou scripts incorretos dentro do aplicativo, particularmente quando o código personalizado não está alinhado com as expectativas do lado do servidor.

Para corrigir um código de status 405, tente estas soluções detalhadas no artigo acima:

  • Revise a configuração do servidor. Certifique-se de que o servidor está configurado para aceitar os métodos HTTP usados pelo seu aplicativo web. Isso pode incluir um ajuste nas configurações dos softwares de servidor web, como Apache ou Nginx.
  • Verifique o código do aplicativo . Examine quaisquer scripts personalizados ou códigos de backend para erros na forma como os métodos HTTP são aplicados. Certifique-se de que o código corresponde aos métodos esperados pelo servidor para cada endpoint.
  • Inspecione o arquivo .htaccess e reescreva as regras. Regras de reescrita incorretas no arquivo .htaccess podem levar a erros 405. Revise e corrija essas regras, se necessário.
  • Faça depurações e testes. Use ambientes de desenvolvimento locais para replicar o erro e identificar sua causa. Ferramentas como o Postman podem simular várias solicitações HTTP para testar respostas do servidor.

Ainda tem dúvidas ou quer deixar um feedback? Confira nossa seção de perguntas frequentes abaixo ou escreva um comentário!

Erro 405: Perguntas Frequentes

Abaixo, você pode encontrar respostas para as perguntas mais comuns sobre o código de status HTTP 405.

O que causa o erro 405?

O erro 405 ocorre quando um cliente tenta usar um método HTTP que não é permitido pelo servidor. Por exemplo, esse problema pode ocorrer quando um usuário tenta usar um método como PUT ou DELETE em um recurso que apenas permite solicitações GET ou POST.

Como posso prevenir o erro “405 Method Not Allowed”?

Certifique-se de usar o método HTTP apropriado para o recurso solicitado para evitar o erro “405 Método Não Permitido”. Verifique a documentação do servidor para determinar quais métodos são permitidos para cada recurso e garanta que as solicitações usem apenas métodos permitidos.

Permissões de arquivo incorretas podem acionar um erro “405 Method Not Allowed”?

Permissões de arquivo incorretas não costumam acionar diretamente o erro “405 Method Not Allowed”. Dito isso, elas podem causar outros tipos de erros HTTP, como o “403 Forbidden”, o “404 Not Found” e o “500 Internal Server Error”.

Author
O autor

Bruno Santana

Jornalista formado pela Universidade Federal da Bahia, além de colaborador eventual do site MacMagazine e da editoria de cultura do Jornal A Tarde, de Salvador. Fascinado por tecnologia desde criança, criei meu primeiro blog no Wordpress aos 13 anos e nunca mais parei. Nas horas vagas, gosto de ir ao cinema e fazer experimentos na cozinha.