Документация
HTTP-авторизация
HTTP-авторизация позволяет авторизовывать пользователей на уровне запросов к серверу. Можно «запаролить» папку, а можно и весь сайт :)
В старом добром Apache можно задать авторизацию через .htaccess. Не вопрос и для nginx.
Идем в winginx\conf\vhosts и находим (либо создаем) конфигурационный файл от нужного вам сайта.
Добавляем location с указанием той папки или файла, которые мы хотим защитить паролем, и пишем директивы модуля ngx_http_auth_basic_module.
server { ... location /secret_dir/ { auth_basic "Restricted zone"; auth_basic_user_file .htpasswd; } ... }
В директиве auth_basic_user_file задаем имя файла с паролями (путь относительный от папки конфига winginx\conf). Это не обязательно должен быть файл .htpasswd, можно использовать любое имя.
В файле .htpasswd хранятся логины и зашифрованные пароли в таком виде:
john:6$7a0s2Gv4U2I mary:BsduVclZo84u6 bill:QYJYno4Rq41oY alex:bwO.ffidNBFdo
Онлайн-шифровальщик паролей для .htpasswd
В некоторых версиях Windows в файле .htpasswd должны храниться пароли в незашифрованном виде... Досада.