Первое, что вам нужно будет сделать, это создать файл с именем .htpasswd (он должен быть назван именно так). Следующая команда создает новый файл .htpasswd и сохраняет запись в этом для пользователя AndreyEx.
htpasswd -bc /var/www/yourdomain.ru/.htpasswd andreyex password
Для создания другого пользователя:
htpasswd -b /var/www/yourdomain.ru/.htpasswd destroyer password
Если вы получаете ошибку «команда не найдена», то у вас, вероятно, не установлен apache2-utils.
.htpasswd должен быть размещен над вашем корневом каталоге или в другом каталоге, который надо сделать недоступным.
Файл конфигурации для защиты вашего сайта, добавив следующие строки кода внутри серверного блока:
location ^~ /secretdirectory/ { auth_basic "Restricted"; auth_basic_user_file /var/www/yourdomain.ru/.htpasswd; location ~ \.php { fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name; } }
Перезагрузите Nginx, чтобы изменения конфигурации вступили в силу
/etc/init.d/nginx restart
Наконец проверьте, все ли работает правильно. Перейти к http://yourdomain.ru/secretdirectory/, должно быть предложено ввести имя пользователя и пароль.