Рубрики
apache \ nginx

nginx / debian 10 / простой конфиг / пароль на сайт / htpasswd

Установка и подготовка:

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