среда, 3 февраля 2016 г.

Защита паролем директорий сайта, который работает на nginx(HTTP Base Authentication).

Предположим ситуацию. Есть сайт, который должен быть доступен только для одних пользователей и директория для администраторов. Получим два пути, которые должны быть доступны только для пользователей двух групп по отдельности. В настройках nginx нужно указать директорию, метод аутентификации и файл паролей пользователей. Выполним данные условия в обратном порядке.


Оригинал решения: 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;
    }
}

Всё. Должно работать. При посещении данных адресов, сервер будет запрашивать данные аутентификации.

Комментариев нет:

Отправить комментарий