Vamos a utilizar openssl y comprobamos si está instalada:
dpkg -l | grep openssl
  
  Ahora creamos un archivo oculto .htpasswd en /etc/nginx:
sudo sh -c  "echo -n 'abhijeet:' >> /etc/nginx/.htpasswd"
  
  Crea dos usuarios, uno con tu nombre y otro con tu apellido. Comprueba que el usuario y la contraseña aparezcan cifrados en el fichero:
cat /etc/nginx/.htpasswd
  
  Editamos el archivo de server block:
sudo nano /etc/nginx/sites-available/nom_web
  
  Y editamos dentro de location / {...}:
server {
      listen 80;
      listen [::]:80;
      root /var/www/abhijeet/html/perfect-learn;
      index index.html index.htm index.nginx-debian.html;
      server_name tasca;
      location / {
        auth_basic "Àrea restringida";
        auth_basic_user_file /etc/nginx/.htpasswd;
        try_files $uri $uri/ =404;
      }
  }
  
  Y reiniciamos el servidor:
sudo systemctl restart nginx
  
  Dentro de server block añadiremos:
server {
      ...
      location / {
        deny 198.192.1.10;
        allow 192.168.1.1/24,
        allow 127.0.0.1;
        deny all;
      }
  }
  
  Combinar IP y la autenticación HTTP:
server {
      ...
      location / {
        satisfy all;
        deny 198.192.1.10;
        allow 192.168.1.1/24,
        allow 127.0.0.1;
        deny all;
        auth_basic              "Administrator's area"
        auth_basic_user_file    conf/htpasswd;
      }
  }