Tentar acessar um site e se deparar com uma página de erro é, no mínimo, inconveniente, seja esse site seu ou de outra pessoa. Assim como muitos códigos de resposta HTTP, parte do que torna um erro 401 tão frustrante é a falta de informações que ele oferece para diagnosticar e resolver o problema.

O erro 401 pode acontecer com qualquer navegador, por isso é um problema bastante comum que as pessoas enfrentam. Geralmente, este problema é relativamente simples e direto de ser corrigido.

Neste artigo, explicaremos o que são mensagens de erro 401 e por que elas ocorrem. Em seguida, apresentaremos cinco métodos que você pode usar para corrigi-las.

Vamos começar!

Qual é o código de erro 401?

A Força-Tarefa de Engenharia da Internet (IETF) define o erro 401 Unauthorized como:

O código de status 401 Unauthorized indica que a solicitação não foi aplicada porque falta credenciais de autenticação válidas para o recurso de destino. O servidor que gera uma resposta 401 DEVE enviar um campo de cabeçalho WWW-Authenticate contendo pelo menos um desafio aplicável ao recurso de destino.

Uma introdução ao código de erro 401

Os códigos de status HTTP 400 são encontrados quando há um problema fazendo uma solicitação. Um erro 401, em particular, acontece quando seu navegador nega o acesso à página que você está tentando visitar.

Como resultado, em vez de carregar a página da internet, o navegador carregará uma mensagem de erro. Erros 401 podem ocorrer em qualquer navegador, portanto, a mensagem exibida pode variar.

Por exemplo, no Chrome ou Edge, você provavelmente verá um ícone de papel juntamente com uma mensagem simples informando que a página em questão não está funcionando. Ela incluirá a frase “Erro HTTP 401” na parte inferior e instruirá você a entrar em contato com o proprietário do site se o problema persistir:

O Erro 401 no Chrome
O Erro 401 no Chrome

Em outros momentos e em outros navegadores, você pode receber um aviso um pouco menos amigável que é apenas uma página em branco com uma mensagem “401 Authorization Required” (Autorização Obrigatória 401):

Nginx 401 Autorização Mensagem de erro necessária
Nginx 401 Autorização Mensagem de erro necessária

Outras variações incluem:

  • “Erro HTTP 401 – Não Autorizado”
  • “401 Não Autorizado”
  • “Acesso Negado

Estes erros ocorrem em sites que requerem um login para poder acessá-los. Geralmente, isso significa que algo está errado com as credenciais ou com a capacidade do navegador de lê-las como válidas.

Isto é similar ao Erro Proibido HTTP 403, na medida em que o acesso não é permitido ao usuário. Entretanto, ao contrário do erro 403, a mensagem de erro 401 indica que o processo de autenticação falhou.

O código é enviado através do cabeçalho WWW-Authenticate, responsável por identificar o método de autenticação utilizado para conceder acesso a uma página de internet ou recurso.

Código do erro HTTP 401 Unauthorized Error
Tipo do erro Comumente um erro do lado do cliente
Variações do erro 401 Authorization Required
401 Unauthorized
HTTP 401 Error – Unauthorized
Access Denied
Causas do erro Cache e cookies do navegador desatualizados
Incompatibilidade de plugin
URL incorreta ou link desatualizado

O que causa o erro 401?

Se você encontrar um código de erro no formato 400, saiba que está lidando com um problema no lado do cliente (ou no navegador). Embora o problema possa ocorrer no seu navegador, nem sempre significa que ele seja o culpado, como explicaremos em mais detalhes posteriormente.

Os erros 401 ocorrem em recursos restritos, tais como páginas protegidas por senha do seu site WordPress. Portanto, é seguro assumir que a causa do problema tem algo a ver com as credenciais de autenticação.

Cache de navegador e cookies desatualizados

Uma das razões mais comuns para você experimentar um erro 401 é que o cache e os cookies do seu navegador estão desatualizados, impedindo que a autorização passe com sucesso. Se o seu navegador não estiver usando as credenciais de autenticação válidas (ou nenhuma), o servidor irá rejeitar a solicitação.

Incompatibilidade do plugin

Em outros momentos, este erro é causado por uma incompatibilidade ou erro de plugin. Por exemplo, um firewall ou plugin de segurança pode confundir sua tentativa de login com atividade maliciosa, e retornar um erro 401 para proteger a página.

URL incorreta ou link desatualizado

Também é possível que a origem do problema possa ser atribuída a um erro pequeno. Os culpados comuns nessa categoria incluem uma URL digitada incorretamente ou um link desatualizado.

Como corrigir o erro 401?

Agora que passamos por um pouco de contexto sobre o erro 401, é hora de discutir como você pode resolvê-lo.

Vamos dar uma olhada em cinco métodos que você pode usar:

1. Procure por erros na URL

Começaremos com a solução mais fácil possível: verificar se você usou a URL correta. Isso pode parecer simples, mas erros 401 às vezes podem ocorrer se a URL não tiver sido digitada corretamente.

Outra possibilidade é que o link que você usou para visitar a página em questão aponte para a URL errada. Por exemplo, ele pode estar desatualizado, ou levar a uma página que não existe mais (e não existem redirecionamentos).

Portanto, vale a pena checar a URL que você utilizou. Se você mesmo digitou, verifique se soletrou tudo corretamente. Se você clicou em um link, confirme que ele está apontando para a página que você está tentando acessar (ou tente visitar aquela página diretamente através do site).

2. Limpe o cache do seu navegador

O cache do seu navegador foi projetado para melhorar a sua experiência online, reduzindo o tempo de carregamento de páginas. Infelizmente, às vezes ele também pode causar interrupções indesejadas.

Como mencionamos anteriormente, uma das causas comuns do erro 401 é o armazenamento em cache desatualizado ou incorreto, ou cookies. Portanto, se você não identificar nenhum problema com a URL da página, o próximo passo é limpar o cache do seu navegador.

Isso irá limpar qualquer informação inválida armazenada localmente em seu navegador, o que pode estar interrompendo o processo de autenticação. Da mesma forma, os cookies do seu navegador podem conter dados de autenticação que simplesmente precisam ser atualizados.

Se você é um usuário do Google Chrome, você pode fazer isso clicando no ícone do menu no canto superior direito do navegador, e depois indo para Configurações. Sob a seção Privacidade e segurança, clique em Limpar dados de navegação:

A seção Limpar dados de navegação no Google Chrome
A seção Limpar dados de navegação no Google Chrome

Uma nova janela se abrirá. Na aba Básica, certifique-se de que as três caixas estejam selecionadas e, em seguida, selecione Limpar dados:

A janela de dados de navegação clara em Cromo
A janela de dados de navegação clara em Cromo

Este processo vai parecer um pouco diferente em outros navegadores. Por exemplo, no Mozilla Firefox, você clicaria no ícone da biblioteca no canto superior direito do navegador, seguido por History > Clear Recent History:

A opção 'clear recent history' nas configurações do Firefox
A opção ‘clear recent history’ nas configurações do Firefox

No painel que se abre a seguir, selecione Everything no menu suspenso na parte superior, certifique-se de que “Cache” está selecionado e clique no botão Clear Now:

O painel 'Clear History' no Firefox
O painel ‘Clear History’ no Firefox

Se você estiver usando um navegador diferente, por favor consulte este guia para limpar o cache

3. Limpe o seu DNS

Outro método que você pode tentar resolver o erro 401 é limpar o seu Servidor de Nomes de Domínio (DNS). Embora este seja um problema mais raro, pode ser uma causa possível, então vale a pena tentar se as duas primeiras soluções não funcionarem.

Para fazer isso no Windows, clique no botão Start e digite cmd na barra de pesquisa. Pressione Enter, e o prompt de comando será aberto. Copie e cole o comando ipconfig/flushdns, e então pressione Enter novamente:

A interface de Prompt de Comando no Windows
A interface de Prompt de Comando no Windows

Em um Mac, você pode fazer isso indo em Finder > Applications > Utilities > Terminal:

O aplicativo Terminal no Mac
O aplicativo Terminal no Mac

Digite a linha de comando sudo killall -HUP mDNSResponder e pressione Enter. Em seguida, você pode tentar atualizar a página que estava tentando visitar, para ver se o erro 401 foi resolvido.

4. Desative seus Plugins WordPress

O problema que causa o seu erro 401 pode não ser devido ao seu navegador. Se você estiver tendo problemas para acessar seu site WordPress, também é possível que um ou mais plugins sejam os culpados.

Alguns plugins, especialmente plugins focados em segurança, são configurados para mostrar um erro 401 quando suspeitam de atividade de login suspeita que possa indicar um ataque. Outros podem estar apenas sofrendo de problemas de compatibilidade. Portanto, é uma boa idéia desativar todos os seus plugins para WordPress e ver se isso resolve o problema.

Você pode desativar seus plugins todos ao mesmo tempo, no seu painel, indo para Plugins > Installed Plugins. Marque a caixa no topo para selecionar todos eles. Em seguida, no menu suspenso Bulk Actions, selecione Deactivate e clique no botão Apply:

A configuração de desativação do plugin no painel do WordPress
A configuração de desativação do plugin no painel do WordPress

Depois disso, tente recarregar a página que retornou o erro 401 para ver se isso resolveu o problema. Se tiver, você pode ativar manualmente cada plugin um de cada vez, a fim de determinar qual deles está causando o problema.

Então você pode remover esse plugin, substituí-lo por um novo, ou entrar em contato com seu desenvolvedor para assistência.

5. Confira a resposta do cabeçalho da WWW-Authenticate

Neste ponto, se o problema não tiver sido resolvido, pode ser causado por um problema no servidor. Isso significa que nossa última solução será um pouco mais complexa.

Como vimos anteriormente, a resposta 401 é enviada através do cabeçalho WWW-Authenticate, que aparece como “WWW-Authenticate: < type> realm=< realm>”. Inclui “desafios”, ou strings de dados que indicam que tipo de autenticação é necessária para que o acesso seja concedido.

Em resumo, você desejará verificar se a resposta do cabeçalho foi enviada e, mais especificamente, qual esquema de autenticação foi usado. Pelo menos, isso pode ajudar a identificar a causa do problema e aproximar você de uma solução.

Para fazer isso, vá para a página de internet que está exibindo o erro 401, e acesse o console do desenvolvedor no Chrome. Você pode clicar com o botão direito na página e selecionar Inspect, ou usar Ctrl+Shift+J.

A seguir, clique na aba Network e recarregue a página. Isso irá gerar uma lista de recursos. Selecione o cabeçalho Status para ordenar a tabela e localizar o código de status 401:

O código de status 401 no console do desenvolvedor em Chrome
O código de status 401 no console do desenvolvedor em Chrome

Selecione essa entrada e depois clique na guia Headers. Em Response Headers, localize o cabeçalho WWW-Authenticate:

A seção Cabeçalhos de Resposta do console do desenvolvedor
A seção Cabeçalhos de Resposta do console do desenvolvedor

As informações que estão presentes no cabeçalho de resposta, particularmente os esquemas de autenticação, podem lhe dar mais informações sobre o que está acontecendo e apontar para uma solução. Pode ajudá-lo a entender que tipo de autenticação o servidor está esperando.

Por exemplo, no exemplo acima, podemos ver que o esquema de autenticação é “Básico”. Isto significa que o pedido de autenticação deve requerer apenas um ID e senha. Para informações mais detalhadas e instruções sobre como usar essas informações, recomendamos consultar o HTTP Authentication Scheme Registry.

Resumo

Quando seu navegador e servidor têm problemas de comunicação ou autenticação de pedidos, você às vezes é forçado a lidar com erros como o erro 401. Embora este problema seja irritante, a mensagem geralmente é temporária e corrigível.

Aqui estão cinco métodos que você pode usar para corrigir o erro 401:

  1. Procure por erros na URL.
  2. Limpe o cache do seu navegador.
  3. Limpe o seu DNS.
  4. Desative seus plugins para WordPress.
  5. Verifique a resposta do cabeçalho WWW-Authenticate.