Nginx é um servidor web gratuito e de código aberto usado para balanceamento de carga, buffering e cache. Desde a sua criação em 2004, o Nginx ganhou popularidade para dimensionamento de servidores web e proxy reverso. Devido ao seu alto desempenho e excelentes capacidades para lidar com um grande volume de conexões, ele é usado para gerenciar e controlar o tráfego de entrada.
Como funciona a autenticação HTTP?
Na autenticação HTTP básica, todas as rotas no servidor são bloqueadas e exigem as credenciais apropriadas para autenticação. Sempre que um usuário tenta acessar um recurso protegido, o servidor envia ao usuário um cabeçalho WWW-Authenticate e uma 401 Unauthorized resposta. Se o nome de usuário e a senha usados pelo usuário estiverem corretos e corresponderem ao arquivo de chave, a conexão é estabelecida, caso contrário, é negada.
Neste tutorial, vamos orientá-lo pelas etapas de configuração da autenticação HTTP básica com o Nginx no Ubuntu 20.04.
Pré-requisitos
Para acompanhar este tutorial, você precisará do seguinte:
- A versão mais recente do Ubuntu instalado no seu sistema.
- Os usuários do sistema devem ter privilégios sudo.
- Nginx instalado e configurado no seu servidor.
Passo 1: Atualizar os repositórios de software
Antes de instalar qualquer novo software ou pacote de API no seu sistema, atualize os repositórios para evitar erros ou conflitos de pacotes. Inicialmente, atualizaremos o software usando o comando sudo:
|
1 |
sudo apt-get update |
Agora que atualizamos os repositórios de software, vamos instalar os pacotes apache2 necessários.
Passo 2: Instalar os pacotes necessários
Como estamos configurando a autenticação HTTP para um diretório, usaremos o comando htpasswd para criar uma senha criptografada. Instale o pacote apache2-utils usando o seguinte comando:
|
1 |
sudo apt-get install apache2-utils |
Passo 3: Criar usuário e senha
Nesta etapa, configuraremos as credenciais de autenticação HTTP básica. No diretório raiz, crie um arquivo .htpasswd associado ao usuário. A senha será criptografada e o nome do arquivo pode ser qualquer um de sua escolha. Use o seguinte comando para criar o arquivo e adicionar o usuário com uma senha criptografada:
|
1 |
sudo htpasswd -c /etc/nginx/.htpasswd cloudsigma |

Em seguida, verifique o arquivo recém-criado usando o seguinte comando:
|
1 |
cat /etc/nginx/.htpasswd |
Passo 4: Atualizar a configuração do Nginx
Assim que tivermos nossas credenciais de autenticação básica HTTP, vamos configurar o Nginx e usá-lo em nosso site de destino. Precisamos das diretivas auth_basic e auth_basic_user_file para estabelecer a autenticação básica HTTP. O valor da diretiva auth_basic é um formato de string, enquanto o valor de auth_basic_user_file é o caminho para o arquivo de senha criado no Passo 3.
É importante incluir as duas diretivas no arquivo de configuração do site de destino. Você encontrará a localização do site de destino no diretório /etc/nginx/sites-available. Abra o arquivo de configuração usando o editor nano:
|
1 |
sudo nano /etc/nginx/sites-available/default |
Em seguida, adicione ambas as diretivas na seção location:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
. . . server_name localhost; location / { # Primeira tentativa de servir a requisição como arquivo, depois # como diretório, depois retornar para a exibição de um 404. try_files $uri $uri/ =404; # Descomente para habilitar o naxsi neste local # include /etc/nginx/naxsi.rules auth_basic "Propriedade Privada"; auth_basic_user_file /etc/nginx/.htpasswd; } . . . |
Depois de adicionar a diretiva, salve e feche o arquivo de configuração.
Passo 5: Reiniciar o Nginx
Em seguida, recarregue ou reinicie os serviços do Nginx para aplicar as alterações em nosso host virtual. Depois disso, tentaremos acessar o domínio protegido usando nossa autenticação HTTP básica. Use o seguinte comando para ativar os serviços do Nginx:
|
1 |
sudo service nginx reload |
Etapa 6: Acesso Web Seguro
Depois de reiniciar o Nginx, o próximo passo é tentar acessar o endereço IP ou nome de domínio no seu navegador favorito. Ao clicar no endereço IP http://your_domain_name/ no seu navegador, um prompt será aberto solicitando que você insira as credenciais para se autenticar. Assim que inserir o nome de usuário e a senha corretos, você verá a página inicial padrão do Nginx.
Conclusão
Neste tutorial, aprendemos como configurar a autenticação HTTP básica com o Nginx. A autenticação básica por nome de usuário/senha é apenas uma das muitas opções de autenticação para estabelecer uma conexão segura no Nginx.
Existem outras opções poderosas usadas para autenticação de servidor. Por exemplo, alguns métodos populares que você pode usar incluem integrações de API, JSON Web Tokens, autenticações baseadas em chave SSH. Embora obter mecanismos de segurança robustos possa parecer complicado inicialmente, eles são altamente eficazes para proteger sua privacidade.
Além disso, existem muitos outros materiais de aprendizado e tutoriais sobre o Nginx que você pode acessar em nossos blogs:
- Visão Geral dos Algoritmos de Seleção de Blocos de Servidor e Localização do Nginx
- Instalando e Configurando o Laravel com Nginx no Ubuntu 20.04
- Configurando o Django com PostgreSQL, Nginx e Gunicorn no Ubuntu 20.04
Feliz Computação!

Comentários
Nenhum comentário ainda. Seja o primeiro.