Como ativar a autenticação básica no nginx

Como ativar a autenticação básica no nginx

Nginx é um dos servidores da web popular usados ​​para hospedagem na web. Neste tutorial, você aprenderá como configurar a autenticação básica no Nginx para o seu site. Este tutorial usará htpasswd Utilitário de comando do pacote Apache Tools para gerar arquivo de credenciais criptografadas.

1. Instale as ferramentas Apache

Você precisa htpasswd comando para criar .htpasswd com detalhes de login criptografado. Portanto, instale as ferramentas Apache para obter o htpasswd comando em seu sistema.

Usando apt-get:

$ sudo apt-get install apache2-utils 

Usando Yum:

$ yum install httpd-tools 
  • Como configurar hosts virtuais nginx no Ubuntu e Debian

2. Crie arquivo de credenciais

Primeiro você precisa criar um vazio /etc/nginx/.htpasswd Arquivo se não existe. Você também pode fazer isso usando -c no comando htpasswd. Mas este substitui o arquivo existente e você pode substituir acidental o arquivo existente ao adicionar mais usuários.

$ touch/etc/nginx/.htpasswd 

O comando acima criará um novo arquivo ou apenas alterará o timestamp para o arquivo existente. Vamos começar a adicionar novos usuários usando o comando htpasswd.

$ htpasswd -m/etc/nginx/.htpasswd user1 $ htpasswd -m/etc/nginx/.htpasswd user2 
  • -m é usado para criar senhas criptografadas MD5.

3. Editar configuração Nginx

Nesta etapa, edite o arquivo de configuração nginx para o seu bloco de servidor. Adicione a entrada seguinte no bloco do servidor que você precisa para autenticar.

servidor Ouça 80 default_server; nome do servidor _; root/usr/share/nginx/html;  localização / auth_basic "área restrita"; auth_basic_user_file/etc/nginx/.htpasswd;   

Atualize o caminho de localização para restringir o URL de aplicativo específico do seu aplicativo da Web.

 Localização /Restrito / auth_basic "área restrita"; auth_basic_user_file/etc/nginx/.htpasswd;  

4. Recarregue o servidor nginx

Para aplicar as alterações ao seu servidor Recarregar o servidor Nginx usando os seguintes comandos.

$ sudo /etc /init.Reload D/Nginx 

Os usuários do SystemCTL também podem usar o comando abaixo.

$ sudo systemctl recarregar nginx.serviço