Для чего это нужно
К примеру, Вы хотите разместить статический билд клиентского Web приложения на некоем ресурсе и хотите закрыть доступ к этой странице всем, кроме тех кто введет логин и пароль. Такой инстанс можно назвать Staging и он явно должен быть не для всех.
Шаг 1. Конфигурация
cd /etc/nginx/conf.d/
sudo nano 50-pravosleva.pro.conf
Изменение части конфигурации
location /dist.project-1 {
index index.html;
root /root/projects; # NOTE: В моем случае, это директория с билдами проектов
autoindex on;
auth_basic "Administrator’s Area";
auth_basic_user_file /var/www/html/.htpasswd;
}
Подробнее о настройке инфраструктуры, которую я использую для простого примера
Шаг 2. Файл-хранилище хэшей паролей
В моем случае потребовалось это:
apt install apache2-utils
Как проверить:
htpasswd -v
Где-нибудь в каталоге создаем файл-хранилище
cd /var/www/html
htpasswd -c ./.htpasswd tester
Далее программа спросит пароль и его подтверждение
Шаг 3. Перезапуск Web сервера NGINX
sudo systemctl reload nginx