Найти в Дзене
Айти для пацанов

Просто, быстро: HTTP-аунтификация на nginx за 5 минут

Debian 10 + Nginx + Развернутый сайт(test.ru) Что мы должны получить:
Приступаем!
Выполнять все команды будем от супер-пользователя, то есть рута.
Для этого вводим:
sudo su
или
su
Ставим утилиту htpasswd и создаем пользаков Устанавливаем:
apt install apache2-utils
Добавляем первого пользовате и кладемфайл в папку /etc/nginx/
htpasswd -c /etc/nginx/.htpasswd pacan1
Добавляем второго, если нам нужeн:
htpasswd /etc/nginx/.htpasswd pacan2
При добавление пользака, нам просят ввести ему пароль дважды: В файле с паролями( /etc/nginx/.htpasswd), пароли шифруются и выглядят так: Что бы удалить пользователя, просто удаляем строчку с ненужным пользаком. Аунтификация одного сайта Заходим в конфиг нашего сайта, у меня он /etc/nginx/site-available/test.ru
nano /etc/nginx/site-available/test.ru
И в секцию server{} , внутри скобок добавляем
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd; Получается вот так:
server {... auth_basic "Restricted Area";
Оглавление

Что у нас есть?
Debian 10 + Nginx + Развернутый сайт(test.ru)

Что мы должны получить:

Приступаем!

Выполнять все команды будем от супер-пользователя, то есть рута.
Для этого вводим:
sudo su
или
su


Ставим утилиту htpasswd и создаем пользаков

Устанавливаем:
apt install apache2-utils

Добавляем первого пользовате и кладемфайл в папку /etc/nginx/

htpasswd -c /etc/nginx/.htpasswd pacan1

Добавляем второго, если нам нужeн:
htpasswd /etc/nginx/.htpasswd pacan2


При добавление пользака, нам просят ввести ему пароль дважды:

-2

В файле с паролями( /etc/nginx/.htpasswd), пароли шифруются и выглядят так:

-3

Что бы удалить пользователя, просто удаляем строчку с ненужным пользаком.

Аунтификация одного сайта

Заходим в конфиг нашего сайта, у меня он /etc/nginx/site-available/test.ru

nano /etc/nginx/site-available/test.ru

И в секцию
server{} , внутри скобок добавляем

auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;

Получается вот так:
server {...

auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;

...}

пример конфига аунтификации
пример конфига аунтификации

не забываем перезагружать nginx

systemctl restart nginx


Аунтификация папки сайта

Так же заходим в конфиг нашего сайта

nano /etc/nginx/site-available/test.ru

и на этот раз добавляем аунтификацию в секцию location {} пример:

location /papka/ {...

auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;

...}

Перезагружаем nginx

systemctl restart nginx

-5

Аунтификация на все сайты nginx

Лезем в глобальные настройки nginx

nano /etc/nginx/nginx.cof

там в секцию
Http{} закидываем наши две строчки:

-6

Не забываем:
systemctl restart nginx