NGINX позволяет вам настроить базовую HTTP-аутентификацию на вашем веб-сайте, что позволяет вам ограничить доступ к одной или нескольким страницам вашего веб-сайта, используя простое имя пользователя и пароль. Вы можете использовать этот метод для защиты http, сервера или даже блокировки местоположения. Вы можете использовать его для защиты виртуальных хостов, веб-сайтов или конфиденциальных страниц вашего веб-сайта, таких как страницы администрирования. В этой статье мы рассмотрим, как настроить базовую аутентификацию в NGINX.

Как настроить базовую аутентификацию в NGINX

Вот шаги по настройке базовой аутентификации в NGINX.

  1. Установите утилиты Apache

    Нам нужно использовать утилиту htpasswd для настройки базовой аутентификации. Для этого нам нужно установить apache2-utils или httpd-tools. Откройте терминал и выполните следующую команду

    1. Создайте пользователя/пароль

    Затем запустите команду htpasswd, чтобы создать пользователя, которому будет предоставлен доступ к вашему веб-сайту.

    # htpasswd -c /etc/nginx/conf.d/.htpasswd developer

    Мы используем опцию -c, чтобы указать местоположение файла паролей. Когда вы нажмете Enter, вам будет предложено ввести пароль.

    Например, когда мы создаем другого пользователя, мы не указываем расположение файла паролей.

    # htpasswd /etc/nginx/conf.d/.htpasswd user

    3. Откройте файл конфигурации NGINX

    Откройте терминал и выполните следующую команду, чтобы открыть файл конфигурации сервера NGINX.

    $ sudo vi /etc/nginx/nginx.conf

    Если вы настроили отдельные виртуальные хосты для своего веб-сайта (например, www.example.com), например /etc/nginx/sites-enabled/website.conf, откройте его конфигурацию с помощью следующей команды.

    $ sudo vi /etc/nginx/sites-enabled/website.conf

    Или вы также можете открыть файл конфигурации виртуального хоста по умолчанию.

    $ sudo vi /etc/nginx/sites-enabled/default

    4. Защита NGINX паролем

    Чтобы защитить паролем ваш веб-сайт или определенные веб-страницы, нам необходимо использовать директивы auth_basic и auth_basic_user_file в конфигурации сервера NGINX.

    Например, если вы хотите настроить базовую аутентификацию для виртуальных хостов (весь блок http), добавьте две вышеуказанные директивы, как показано ниже, в блок http.

    http{
       ...
       auth_basic "Restricted Access!"; 
       auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
       ...
    }

    В приведенном выше коде мы указываем путь к файлу паролей в директиве auth_basic_user_file и сообщение, которое будет отображаться в директиве auth_basic.

    Аналогично, вот код для защиты блокировки сервера, то есть реализации базовой аутентификации для веб-сайта или домена.

    server{
        ...
        auth_basic "Restricted Access!";
        auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
        ...
    }

    Вы также можете настроить базовую аутентификацию для определенных веб-страниц/подкаталогов (например, /admin), добавив директивы auth_basic и auth_basic_user_file в блок location.

    location /admin/ {
        ...
        auth_basic "Restricted Access!";
        auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
        ...
    }

    5. Перезапустите сервер NGINX.

    Запустите следующую команду, чтобы проверить синтаксис обновленного файла конфигурации.

    $ sudo nginx -t

    Если ошибок нет, выполните следующую команду, чтобы перезапустить сервер NGINX.

    $ sudo service nginx reload #debian/ubuntu
    $ systemctl restart nginx #redhat/centos

    6. Проверьте базовую аутентификацию.

    Откройте браузер и посетите URL-адрес (например, www.example.com/admin), который вы защитили. Вы должны увидеть экран аутентификации, как показано ниже.

    От ltvjybn14

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *


    Срок проверки reCAPTCHA истек. Перезагрузите страницу.