В отличии от Apache, в nginx не используется .htaccess файл. Но защитить паролем сайт в Nginx можно с помощью модуля HttpAuthBasic.
Для того, чтобы защитить какую-либо директорию с помощью пароля, вам нужно прописать следующие директивы в конфигурационном файле Nginx вашего сайта:
/etc/nginx/sites-enabled/mysite
location @puma {
…
auth_basic “Unauthorized”;
auth_basic_user_file /var/www/mysite.com/.htpasswd;
}
Это защитит паролем весь сайт, а также все вложенные директории.
Директивой auth_basic_user_file вы можете указать файл с паролем.
Файл htpasswd должен содержать имена пользователей и их пароли. При этом пароли должны быть закодированы с помощью функции crypt(3).
Создаем файл с пользователями:
htpasswd -c -d /var/www/mysite.com/.htpasswd USERNAME
Для добавления последующих:
htpasswd -d /var/www/mysite.com/.htpasswd NEWUSERNAME
Если система “жалуется” на отсутствие команды htpasswd, установите apache2-utils:
apt-get install apache2-utils