Установка и подготовка:
1 2 3 4 5 6 7 8 9 10 11 |
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, пример на дефолтной конфигурации
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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 |
Описание директив:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
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; - эта директива позволяет ходить по каталогам и ссылкам |
Ссылки:
1 2 3 4 5 6 |
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 https://b14esh.com/nix/apache-nginx/htaccess-and-htpasswd.html |