Предположим ситуацию. Есть сайт, который должен быть доступен только для одних пользователей и директория для администраторов. Получим два пути, которые должны быть доступны только для пользователей двух групп по отдельности. В настройках nginx нужно указать директорию, метод аутентификации и файл паролей пользователей. Выполним данные условия в обратном порядке.
Оригинал решения: http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html
Оригинал решения: http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html
Шаг 1: Сгенерируем файлы доступа, добавив пользователей.
# to secure the admin site
htpasswd -bc /tmp/admin_passwd.txt admin adminpassword
# to secure the main site
htpasswd -bc /tmp/site_passwd.txt user userpassword
Шаг 2: Указываем для определённого пути определённый файл с паролями.
server {
listen 80;
server_name www.example.com;
root /tmp/www;
location ^~ /admin/ {
auth_basic "secured site admin";
auth_basic_user_file /tmp/admin_passwd.txt;
}
location / {
auth_basic "secured site";
auth_basic_user_file /tmp/site_passwd.txt;
}
}
Всё. Должно работать. При посещении данных адресов, сервер будет запрашивать данные аутентификации.
Комментариев нет:
Отправить комментарий