Для того, чтобы защитить директорию стандартной Basic авторизацией в конфигурацию виртуального сервера необходимо добавить блок location:
location /path/ {
auth_basic "Unauthorized";
auth_basic_user_file /path/to/.htpasswd;
}
Так как nginx отдаёт файлы, начинающиеся на точку (например .htaccess) необходимо закрыть доступ к таким файлам:
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
Для генерации пароля можно использовать htpasswd:
$htpasswd -nd %username%
где %username% имя пользователя
Если не установлен apache можно воспользоваться php:
php -r 'echo crypt("password", "salt");'
где password — пароль, а salt — двухсимвольная (набор символов ./0-9A-Za-z) соль.