Установка и подготовка:
0. Установка apt install apache2-utils - устанавливаем пакет apache2-utils, из него нам нужна программа htpasswd apt install nginx - устанавливаем nginx 1. Создаем файл и создаем пользователя .htpasswd touch /etc/nginx/.htpasswd - создаем файл для паролей htpasswd -c /etc/nginx/.htpasswd User_Name 2. Возможно понадобится симлинк cd name_dir_www - перешли в каталог где нужно сделать name_link ln -s /dir/need/link name_link - создали линк с именем (name_link) на каталог (/dir/need/link)
Настройка nginx, пример на дефолтной конфигурации
0. Редактируем файл (/etc/nginx/sites-available/default)
nano /etc/nginx/sites-available/default
--------------------------------------
server {
listen 80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
auth_basic "closed site";
auth_basic_user_file /etc/nginx/htpasswd;
server_name _;
location / {
autoindex on;
}
}
--------------------------------------
1. Перезапускаем nginx
service nginx restart
Описание директив:
0. Описание директивы для авторизации
auth_basic — включение проверки авторизации
auth_basic_user_file — путь к файлу с ключами
Их можно использовать в контекстах: http, server, location, limit_except.
Это значит, что можно, например, ограничить доступ:
ко всему серверу:
http {
...
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
...
}
к определенному проекту:
server {
...
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
...
}
или к конкретному адресу в проекте:
server {
...
location / {
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
...
}
}
1. Директивы:
autoindex on; - эта директива позволяет ходить по каталогам и ссылкам
Ссылки:
https://nginx.org/ru/ - основная документация https://nginx.org/ru/docs/http/ngx_http_autoindex_module.html https://nginx.org/ru/docs/http/ngx_http_auth_basic_module.html.HTACCESS И .HTPASSWD