Erro 401 HTTP (Unauthorized): Causas e Como Resolver

O HTTP Error 401 Unauthorized (Não autorizado) é uma resposta do servidor. Ela indica que o cliente que está tentando acessar um recurso ou uma página da web, com algum erro de autenticação. Em resumo, trata-se muito provavelmente de uma página em seu site que está pedindo login e senha para permitir o acesso.

O que é o Erro 401

Esse código de status HTTP é frequente quando um servidor exige autenticação para acessar recursos específicos. Como, por exemplo, páginas restritas, áreas protegidas por senha, APIs ou painéis de administração.

O servidor emite o código de status 401 e inclui um cabeçalho WWW-Authenticate . Ele indica ao cliente o método de autenticação a ser utilizado para realizar a autenticação correta.

Esse cabeçalho não é opcional: a especificação HTTP (RFC 9110, seção 15.5.2) determina que todo servidor que responde com 401 deve enviá-lo, informando qual método de autenticação espera.

E isso é útil como diagnóstico. Se você recebe um 401 e o cabeçalho WWW-Authenticate não está na resposta, quem gerou o erro provavelmente não é o servidor web — é uma aplicação, um plugin ou um firewall retornando o código sem seguir a especificação. Já é uma pista de onde procurar.

Erro HTTP Error 401 no Chrome e no Nginx

Quando um navegador ou outro cliente recebe uma resposta HTTP 401, a situação geralmente exige que o usuário forneça credenciais válidas. Como, por exemplo, um nome de usuário e senha, a fim de obter acesso ao recurso protegido. Após a autenticação bem-sucedida, o servidor pode fornecer ao cliente um token ou cookie de autenticação. Ele permitirá o acesso aos recursos protegidos durante a sessão.

Para não confundir com os erros parecidos da mesma família (4xx), veja a diferença:

Comparação dos erros 400, 401, 403 e 404: o que o servidor diz, a causa e quem resolve cada um
Código Significado
400 Bad Request O servidor não entendeu a requisição (sintaxe inválida).
401 Unauthorized Falta autenticação: você não está logado, ou as credenciais estão erradas.
403 Forbidden Você até pode estar autenticado, mas não tem permissão para acessar.
404 Not Found A página não existe naquele endereço.

A diferença mais importante é entre o 401 e o 403: no 401, o problema é que você não se autenticou (ou as credenciais estão incorretas) — logar resolve; no 403 Forbidden, você pode estar autenticado, mas não tem permissão para aquele recurso.

As variações da mensagem de erro 401

Dependendo do servidor e do navegador, o erro 401 aparece com nomes diferentes — mas todos indicam o mesmo problema de autenticação:

  • 401 Unauthorized — a forma padrão do código.
  • 401 Authorization Required — comum em servidores Apache.
  • HTTP Error 401 — a forma como alguns navegadores e o Windows/IIS exibem.
  • Access Denied ou Acesso Negado — versões traduzidas ou resumidas.
  • 401 – Unauthorized: Access is denied due to invalid credentials — típico do IIS (servidores Windows).

Se você vê qualquer uma dessas mensagens, as causas e soluções deste guia se aplicam.

Como resolver o Error 401 se você é visitante

Se você é visitante e se deparou com o erro 401 ao acessar um site, tente estas soluções na ordem:

  • Verifique o login e a senha. A causa mais comum é credencial incorreta. Confira usuário e senha, atenção ao Caps Lock, e tente digitar novamente com calma.
  • Confira a URL. Um endereço digitado errado pode levar a uma área protegida. Verifique se o link está correto.
  • Limpe o cache e os cookies do navegador. Cookies de autenticação antigos ou corrompidos causam o 401 mesmo com a senha certa. Limpe o cache e cookies (ou teste numa janela anônima, que ignora cache e cookies) e faça login de novo.
  • Desative extensões do navegador. Algumas extensões interferem no cabeçalho de autenticação. Teste numa janela anônima; se funcionar, desative as extensões uma a uma.
  • Faça logout e login novamente. Se você já estava logado, sua sessão pode ter expirado. Saia e entre de novo para renovar a autenticação.
  • Espere e tente de novo. Se o erro veio de tentativas de login em excesso (bloqueio temporário), aguarde alguns minutos antes de tentar outra vez.
  • Se nada resolveu e você tem certeza de que as credenciais estão corretas, o problema não está do seu lado — é a configuração de autenticação do servidor. Nesse caso, o caminho é contatar o administrador do site ou o suporte da hospedagem.

Como resolver o erro se você é dono do site

Em princípio, a solução mais comum para o Erro 401 HTTP é corrigir a permissão de acesso a uma pasta em seu site. O painel de controle da hospedagem de sites Homehost permite que você faça a proteção de senha para uma pasta.

Vamos explicar aqui o passo a passo para solucionar este erro através do painel de controle Homehost.

Em nosso exemplo, vamos tentar acessar uma página que requer login e senha. Caso não tenhamos os dados de acesso corretos, ela irá emitir o erro 401.

caixa de autenticação HTTP

Primeiramente, dentro de Configurações avançadas, clique na opção Proteção de diretórios com senha.

configuração do painel de controle

Em seguida, clique sobre o caminho da pasta que está protegida com senha.

proteger diretório com senha no servidor

Agora, temos duas opções para solucionar o erro:

  • Podemos clicar em Remover proteção, para remover a proteção de login e senha por completo dessa pasta
  • Podemos clicar em Adicionar usuário, para então adicionarmos um novo login e senha.
adicionar usuário

Pronto! Dessa forma, temos o Erro 401 HTTP solucionado.

E se você não configurou proteção de senha nenhuma?

Se a pasta não aparece na lista de diretórios protegidos e o 401 continua, a exigência de autenticação está vindo de outro lugar. Quatro causas, em ordem de frequência:

Uma proteção antiga que ficou no .htaccess. É a causa mais comum e a menos óbvia. Se a pasta já foi protegida algum dia, o painel pode ter removido o registro sem limpar o arquivo. Abra o .htaccess do diretório e procure por linhas assim:

AuthType Basic 
AuthName "Restricted Area" 
AuthUserFile /home/usuario/.htpasswd 
Require valid-user 

Se elas estiverem lá, o servidor continua pedindo senha — mesmo que o painel diga o contrário. E se o arquivo .htpasswd referenciado não existir mais, ninguém consegue entrar, porque não há senha válida possível. Comente ou remova as quatro linhas.

A proteção de ambiente de testes que ficou ligada. Sites em desenvolvimento costumam ser protegidos por senha para não aparecerem no Google. Na hora de publicar, a proteção é esquecida — e o site entra no ar retornando 401 para todo mundo. Se o site é novo e o 401 atinge todos os visitantes, comece por aqui.

Uma regra de firewall ou WAF. Cloudflare, ModSecurity e firewalls de aplicação podem exigir autenticação em caminhos específicos, ou bloquear requisições que consideram suspeitas. No Cloudflare, verifique as regras de firewall e o modo “Under Attack”. No servidor, o log de erros mostra qual regra disparou.

Uma aplicação que exige login. Se o 401 acontece só numa parte do site — uma API, um painel, um sistema — a autenticação está na aplicação, não no servidor. Nesse caso o problema é de configuração daquele sistema, e não do diretório.

Como descobrir de onde vem

Duas verificações resolvem quase todos os casos:

Veja os cabeçalhos da resposta. Nas ferramentas do desenvolvedor do navegador (F12), aba Rede, clique na requisição que falhou e leia os cabeçalhos. O WWW-Authenticate ⁣mostra o método exigido, e o campo realm traz frequentemente o nome definido na proteção — o que já indica de onde ela vem.

Consulte o log de erros do servidor. No painel de controle, procure por “Erros” ou pelo log de erros do site. Uma linha mencionando .htpasswd, AuthUserFile ou access to /pasta denied aponta diretamente para a origem.

Erro 401 no WordPress

O erro 401 é especialmente comum no WordPress, geralmente ao acessar o wp-admin ou o wp-login.php. As causas e soluções mais frequentes:

  • Plugin de segurança bloqueando o acesso. Plugins de segurança costumam proteger a área de login e podem disparar o 401 — por regras de IP, limite de tentativas ou autenticação extra. Se você consegue acesso via FTP ou gerenciador de arquivos, desative temporariamente o plugin de segurança (renomeando a pasta dele em /wp-content/plugins/) para confirmar se é a causa.
  • Proteção por senha no diretório (.htaccess). Se há uma proteção de senha no nível do servidor (HTTP Authentication) na pasta wp-admin, o navegador pede as credenciais e retorna 401 se elas estiverem erradas. Verifique os arquivos .htaccess e .htpasswd do diretório.
  • Conflito de plugin ou cache. Limpe o cache do site e do navegador. Se persistir, desative os plugins um a um para achar o responsável — a mesma lógica de diagnosticar um plugin com problema.
  • Erro 401 na REST API (/wp-json/). É o caso mais comum em integrações — aplicativos, plugins de sincronização, sistemas externos. O WordPress não aceita a senha normal do usuário para autenticar na API: é preciso gerar uma Senha de Aplicativo, em Usuários → Perfil → Senhas de aplicativo. Ela é específica para aquela integração, pode ser revogada isoladamente, e é o método oficial desde o WordPress 5.6.
  • A senha de aplicativo pode estar desativada. Alguns plugins de segurança e configurações de servidor desabilitam o recurso. Se a opção não aparece no perfil do usuário, é isso. E em sites sem HTTPS o WordPress também esconde a função, porque enviar credencial em conexão não criptografada é inseguro.

Se o 401 aparece para os visitantes do seu site (não só no login), verifique se algum plugin ou regra de servidor não está exigindo autenticação onde não deveria.

Erro 401 em APIs e integrações

Se você é desenvolvedor e recebeu o 401 ao consumir uma API, o problema está quase sempre nas credenciais da requisição:

  • Token ausente ou expirado. APIs modernas usam tokens (Bearer, OAuth) que expiram. Gere ou renove o token e envie-o corretamente.
  • Cabeçalho Authorization incorreto. Confira se o header Authorization está sendo enviado no formato que a API espera (por exemplo, Bearer seu-token ou Basic Auth).
  • Chave de API inválida. Verifique se a API key está correta, ativa e com as permissões necessárias.

O 401 aqui é a forma da API dizer “não reconheço quem está fazendo a requisição” — a solução é sempre corrigir a autenticação enviada.

Como evitar o erro 401

Use senhas de aplicativo para integrações. Nunca coloque a senha principal da conta num plugin ou sistema externo. Senhas de aplicativo podem ser revogadas uma a uma sem afetar o seu acesso.

Ajuste o tempo de sessão com bom senso. Sessão muito curta derruba o usuário o tempo todo e gera 401 desnecessário; muito longa é risco de segurança. Para painel administrativo, algo entre algumas horas e um dia costuma equilibrar.

Documente as proteções que você criar. Se protegeu uma pasta por senha durante o desenvolvimento, anote — é a causa que mais gera chamado meses depois, quando ninguém lembra que aquilo existe.

Mantenha o site atualizado. Boa parte dos 401 inesperados vem de conflito entre plugin de segurança e versão do core.

E olhe os 401 no log de vez em quando

Aqui há um ponto que quase nenhum guia menciona: uma quantidade anormal de erros 401 no log de acesso costuma significar tentativa de invasão.

Um visitante que erra a senha gera dois ou três 401. Um bot tentando adivinhar credenciais gera centenas por hora, sempre no mesmo caminho — normalmente /wp-login.php ou /wp-json/.

Se você vir esse padrão, vale limitar as tentativas de login, bloquear os IPs de origem no firewall, e considerar mudar o endereço da página de login. O 401 nesse caso não é um problema a resolver — é o sistema funcionando, e um aviso.

Erros no seu site? Conte com um suporte que resolve

Quando o erro 401 (ou qualquer outro) aparece no seu site, uma boa hospedagem faz diferença. A Homehost oferece hospedagem estável, com painel simples para gerenciar autenticação e permissões, e suporte em português para te ajudar a resolver.

Ver planos de hospedagem

Veja também

O erro 401 é um dos códigos de status HTTP da classe 4XX (erros do cliente). Confira também os primos: 400 Requisição Inválida, 403 Proibido e 404 Não Encontrado.

Perguntas frequentes sobre o erro 401

O que significa o erro 401?

O erro HTTP 401 (Unauthorized) significa que a página exige autenticação e você não a forneceu, ou forneceu credenciais inválidas. O servidor recusa o acesso até que um login válido seja feito.

Qual a diferença entre erro 401 e 403?

No 401, falta autenticação — você não está logado ou as credenciais estão erradas, e fazer login resolve. No 403, você pode estar autenticado, mas não tem permissão para acessar aquele recurso. Em resumo: 401 é “identifique-se”; 403 é “você não pode entrar”.

O erro 401 é problema do site ou meu?

Depende. Se você errou as credenciais ou sua sessão expirou, é do seu lado — logar corretamente resolve. Se você é dono do site e o 401 aparece indevidamente, a causa costuma ser um plugin de segurança, uma proteção de diretório esquecida, ou uma regra de firewall.

Limpar o cache resolve o erro 401?

Pode resolver, sim. Cookies de autenticação antigos ou corrompidos causam o 401 mesmo com a senha correta. Limpar o cache e os cookies do navegador (ou usar uma janela anônima) e fazer login novamente costuma resolver.

Limpar o cache de DNS ajuda no erro 401?

Não. Alguns guias recomendam, mas o DNS não tem relação com o 401 — se você recebeu esse erro, o nome já foi resolvido e o servidor já respondeu. O que resolve é o cache e os cookies do navegador, que é onde ficam as credenciais da sessão.

Como resolver o erro 401 no WordPress?

Comece desativando plugins de segurança, que costumam proteger o wp-admin e disparar o 401. Limpe o cache do site e do navegador, e verifique se não há proteção por senha no .htaccess do diretório. Se persistir, desative os plugins um a um para achar o responsável.

Como resolver o erro 401 na REST API do WordPress?

O WordPress não aceita a senha normal do usuário para autenticar em /wp-json/. É preciso gerar uma Senha de Aplicativo, em Usuários → Perfil → Senhas de aplicativo, e usar essa senha na integração. Se a opção não aparece, ou um plugin de segurança a desativou, ou o site não está em HTTPS — o WordPress esconde a função em conexão não criptografada.

Recebi 401 mas não configurei senha nenhuma. Por quê?

Quatro causas, em ordem de frequência: uma proteção antiga que ficou no .htaccess mesmo depois de removida no painel; uma proteção de ambiente de testes que não foi desligada na publicação; uma regra de firewall ou WAF; ou uma aplicação exigindo login por conta própria. O log de erros do servidor costuma apontar qual é.

Como descobrir de onde vem o 401?

Abra as ferramentas do desenvolvedor (F12), aba Rede, e leia os cabeçalhos da resposta que falhou. O WWW-Authenticate mostra o método exigido, e o campo realm frequentemente traz o nome definido na proteção. Se esse cabeçalho não existir, quem gerou o erro provavelmente não é o servidor web — é uma aplicação ou firewall.

Muitos erros 401 no log significam ataque?

Frequentemente, sim. Um visitante que erra a senha gera dois ou três 401. Centenas por hora, sempre no mesmo caminho — normalmente /wp-login.php ou /wp-json/ — é padrão de bot tentando adivinhar credenciais. Nesse caso o 401 não é o problema: é o sistema funcionando, e um sinal para limitar tentativas de login e bloquear os IPs de origem.

O que é o cabeçalho WWW-Authenticate?

É o cabeçalho que acompanha toda resposta 401, informando qual método de autenticação o servidor espera. Ele não é opcional: a especificação HTTP (RFC 9110, seção 15.5.2) determina que todo servidor que responde com 401 deve enviá-lo.

Como resolver o 401 ao consumir uma API?

Verifique três coisas, nesta ordem: se o token não expirou — a causa mais comum em APIs com OAuth; se o cabeçalho Authorization está no formato exato que a API espera, geralmente Bearer seu-token; e se a chave de API continua ativa e com as permissões necessárias.

Conclusão

O erro 401 é, na essência, o servidor dizendo “identifique-se antes de entrar”. Na maioria das vezes, a solução está do lado de quem acessa — credenciais corretas, uma sessão renovada, ou cookies limpos resolvem. Quando o erro é no seu próprio site, especialmente no WordPress, o costume é um plugin de segurança ou uma proteção de diretório exigindo autenticação; e, em APIs, quase sempre é uma questão de token ou cabeçalho de autorização. Identificar de qual lado está o problema — e lembrar que o 401 é sobre autenticação (diferente do 403, que é sobre permissão) — já aponta o caminho para a solução certa.

Este artigo foi útil?

Obrigado pela resposta!
Picture of Gustavo Gallas

Gustavo Gallas

Analista de sistemas, formado pela PUC-Rio. Programador, gestor de redes e diretor da empresa Homehost. Pai do Bóris, seu pet de estimação. Gosta de rock'n'roll, cerveja artesanal e de escrever sobre assuntos técnicos.

Contato: gustavo.blog@homehost.com.br

Ganhe 30% OFF

Indique seu nome e e-mail,e ganhe um cupom de desconto de 30% para sempre na Homehost!