Voltar ao blog

Configurando Autenticação HTTP Básica com Nginx no Ubuntu 20.04

Configurando Autenticação HTTP Básica com Nginx no Ubuntu 20.04

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:

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:

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:

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:

User and Password

Em seguida, verifique o arquivo recém-criado usando o seguinte comando:

newly-created file

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:

Em seguida, adicione ambas as diretivas na seção location:

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:

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:

Feliz Computação!

author

Shreyas Patil

Autor · CloudSigma

Preslav Dobrev é um designer criativo na CloudSigma, focado na construção de uma identidade empresarial consistente por meio de canais de marketing tradicionais e inovadores. Ele é hábil em combinar a visão artística com o marketing estratégico para criar narrativas de marca impactantes.

Comentários

Nenhum comentário ainda. Seja o primeiro.