Ограничение доступа http

Ограничение доступа http

    Общие положения

    Доступ к серверу может быть ограничен по имени и паролю и дополнительно по ip адресу или по графическому местоположению.

    Создание файла паролей

    Чтобы создать пары имя пользователя и пароль, используйте утилиту для создания файла паролей, например, apache2-utils, указав пользователя и пароль

    apk add apache2-utils # htpasswd -c .passwd admin New password: Re-type new password: Adding password for user admin

    1. Внутри местоположения, указать директиву auth_basic и дать имя области, защищенной паролем
    2. Указать директиву auth_basic_user_file с путем к файлу .htpasswd, который содержит пары пользователь/пароль:
    3. Можно ограничить доступ ко всему веб-сайту с помощью базовой аутентификации, но при этом сделать некоторые разделы веб-сайта общедоступными. В этом случае укажите параметр off директивы auth_basic, который отменяет наследование от верхних уровней конфигурации

    server { ... auth_basic "Administrator’s Area"; auth_basic_user_file conf/htpasswd; location /public/ { auth_basic off; } }

    Пользователь должен быть либо аутентифицирован, либо иметь действительный IP-адрес
    Ограничение доступа по IP-адресу с помощью директив allow и deny:

    deny 192.168.1.2; allow 192.168.1.1/24; allow 127.0.0.1; deny all;

    Объединение ограничения по IP и HTTP-аутентификации с директивой satisfy. Если задать этой директиве значение для всех, доступ предоставляется, если клиент удовлетворяет обоим условиям. Если задать директиве значение any, доступ предоставляется, если клиент удовлетворяет хотя бы одному условию:

    ocation /api { #... satisfy all; deny 192.168.1.2; allow 192.168.1.1/24; allow 127.0.0.1; deny all; auth_basic "Administrator’s Area"; auth_basic_user_file conf/htpasswd; }

    Если указанные имя и пароль не совпадают с файлом паролей, вы получите сообщение об ошибке 401 (Требуется авторизация)

    Пример ограничения доступа

    Разрешить доступ к API только из локальной сети:

    server { listen 192.168.1.23; # ... location /api { api write=on; allow 192.168.1.0/24; deny all; }

    Директива api отвечает за серверный блок, который будет отвечать за API


    Источники
    Последнее изменение: 07.10.2024 12:25


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ