TheCodeNaked

Configuração do OrdemAPP - Ep. 5 (Copy)

Explorando o htpasswd.exe do Apache (httpd-2.4.62-240904-win64-VS17)

Apache HTTP Server (httpd) versão 2.4.62-240904-win64-VS17 inclui várias ferramentas úteis, mesmo que você não vá usar o servidor Apache em si. Entre essas ferramentas, a que nos interessa aqui é o htpasswd.exe, que é usada para criar e gerenciar arquivos de senhas criptografadas para autenticação HTTP básica.

🔹 O que é o htpasswd.exe e para que serve?

htpasswd.exe é um utilitário do Apache para criar e gerenciar arquivos de senhas usados em autenticação básica HTTP (Basic Authentication). Isso é útil para proteger diretórios e áreas de um site ou serviço com um login simples.

💡 No seu caso, como você vai usar o NGINX, o htpasswd.exe será útil para criar o arquivo .htpasswd, que o NGINX pode utilizar para autenticação.

✅ Principais funções do htpasswd.exe:

  • Criar um arquivo de usuários e senhas criptografadas.
  • Adicionar novos usuários ao arquivo .htpasswd.
  • Atualizar senhas de usuários existentes.
  • Remover usuários do arquivo de autenticação.

🔹 Como baixar o Apache para obter o htpasswd.exe?

Para usar o htpasswd.exe, é necessário baixar o Apache HTTP Server, pois ele vem incluído na instalação.

Passo 1: Baixar o Apache

  1. Acesse a página oficial de downloads do Apache para Windows: 
  2. Baixe a versão mais recente do Apache 2.4.62 para Windows 64-bit (VS17)
    • O arquivo terá um nome como httpd-2.4.62-240904-win64-VS17.zip.

Passo 2: Extrair e Acessar o htpasswd.exe

  1. Extraia o conteúdo do .zip baixado para um local conveniente, por exemplo: 
2.  
  1. htpasswd.exe estará localizado dentro da pasta bin, no caminho: 
4.  
  1. Para facilitar o uso, abra um Prompt de Comando (cmd) e navegue até a pasta: 
6.  

🔹 Criando um Arquivo de Senhas para Autenticação no NGINX

Agora vamos usar o htpasswd.exe para criar o arquivo .htpasswd, que será utilizado pelo NGINX para proteger áreas com login.

1️⃣ Criar um Arquivo .htpasswd com um Usuário

Para criar um novo arquivo de senhas e adicionar um usuário, use:

htpasswd -c C:\nginx\conf\.htpasswd usuario1
  • -c → Cria um novo arquivo .htpasswd (use apenas na primeira vez!).
  • C:\nginx\conf\.htpasswd → Caminho onde o arquivo será salvo.
  • usuario1 → Nome de usuário que será criado.

💡 Nota: Você será solicitado a inserir uma senha para o usuário.


2️⃣ Adicionar um Novo Usuário ao .htpasswd

Se o arquivo já existeNÃO use -c, pois isso sobrescreveria o arquivo. Para adicionar um novo usuário, execute:

htpasswd C:\nginx\conf\.htpasswd usuario2

Você será solicitado a criar uma senha para o usuario2.


3️⃣ Atualizar a Senha de um Usuário

Se precisar mudar a senha de um usuário existente, basta rodar:

htpasswd C:\nginx\conf\.htpasswd usuario1

Isso pedirá uma nova senha para usuario1.


4️⃣ Remover um Usuário

Para remover um usuário específico do .htpasswd, use:

htpasswd -D C:\nginx\conf\.htpasswd usuario1

O usuário será removido, mas os outros permanecerão no arquivo.


🔹 Configurar o NGINX para Usar o .htpasswd

Agora que criamos o arquivo .htpasswd, precisamos configurar o NGINX para usar autenticação básica.

  1. Edite o arquivo de configuração do NGINX (nginx.conf ou um bloco específico de site).
  2. Dentro do bloco do servidor ou da localização protegida, adicione:
server {
    listen 80;
    server_name exemplo.com;
    location /admin {
        root C:/nginx/html;
        index index.html;
}
  1. Reinicie o NGINX para aplicar as mudanças:
nginx -s reload

Agora, ao tentar acessar http://exemplo.com/admin, será solicitado um usuário e senha.

🔹 Como Testar a Autenticação

Abra um navegador e tente acessar http://exemplo.com/admin.
Você verá uma caixa de login solicitando usuário e senha.

Se autenticar corretamente, o acesso será concedido. Se errar as credenciais, o NGINX retornará um erro 401 - Unauthorized.

🔹 Segurança Adicional

1.     Proteja o arquivo .htpasswd
Como ele contém senhas criptografadas, não o deixe acessível publicamente. No NGINX, podemos bloquear o acesso direto:

2.  
3.  
4.  

5.     Usar senhas mais fortes
htpasswd.exe usa criptografia baseada no MD5, que já não é considerada tão segura. Se precisar de algo mais robusto, pode usar bcrypt com ferramentas externas.

🔹 Conclusão

htpasswd.exe é uma ferramenta simples, mas muito útil para configurar autenticação básica HTTP no NGINX sem precisar de banco de dados ou sistemas complexos.

✅ Criamos e gerenciamos um arquivo de senhas .htpasswd com o htpasswd.exe.
✅ Configuramos o NGINX para exigir login em diretórios protegidos.
✅ Aprendemos a adicionar, atualizar e remover usuários com htpasswd.exe.

Se precisar de mais detalhes ou ajustes na configuração, me avise! 🚀

Sobre o autor

TheCodeNaked

No TheCodeNaked, programar é consequência, não ponto de partida. Antes do código, vem a dúvida, a análise, o contexto. Não seguimos fórmulas — questionamos. Criar software é pensar com clareza. O resto é só digitação.

TheCodeNaked

Criar com clareza. Codificar com intenção.

TheCodeNaked

Ótimo! Você se inscreveu com sucesso.

Bem-vindo de volta! Você acessou com sucesso.

Você se inscreveu com sucesso o TheCodeNaked.

Sucesso! Verifique seu e-mail para acessar com o link mágico.

As suas informações de faturamento foram atualizadas.

Seu pagamento não foi atualizado