Вступление
Nginx является одним из ведущих веб-серверов в активном использовании. Он и его коммерческое издание Nginx Plus разработаны Nginx, Inc.
В этом руководстве вы узнаете, как ограничить доступ к веб-сайту на платформе Nginx, используя базовый метод аутентификации HTTP в Ubuntu 14.04. Базовая аутентификация HTTP - это простой метод аутентификации по имени пользователя и паролю.
Предпосылки
Для завершения этого урока вам понадобится следующее:
-
Одна капля Ubuntu 14.04 с пользователем не-root sudo, которую вы можете настроить, следуя https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04[this начальный сервер Руководство по настройке.
-
Nginx установлен и настроен на вашем сервере, что вы можете сделать, следуя this этой статье Nginx ,
Шаг 1 - Установка инструментов Apache
Вам потребуется команда + htpassword +
для настройки пароля, который ограничит доступ к целевому веб-сайту. Эта команда является частью пакета + apache2-utils +
, поэтому первым шагом является установка этого пакета.
sudo apt-get install apache2-utils
Шаг 2. Настройка учетных данных для базовой аутентификации HTTP
На этом шаге вы создадите пароль для пользователя, работающего с сайтом.
Этот пароль и соответствующее имя пользователя будут сохранены в указанном вами файле. Пароль будет зашифрован, а имя файла может быть любым. Здесь мы используем файл + / etc / nginx / .htpasswd +
и имя пользователя * nginx *.
Чтобы создать пароль, выполните следующую команду. Вам нужно будет пройти аутентификацию, затем указать и подтвердить пароль.
sudo htpasswd -c /etc/nginx/.htpasswd nginx
Вы можете проверить содержимое вновь созданного файла, чтобы увидеть имя пользователя и хешированный пароль.
cat /etc/nginx/.htpasswd
Пример /etc/nginx/.htpasswd
nginx:$apr1$ilgq7ZEO$OarDX15gjKAxuxzv0JTrO/
Шаг 3 - Обновление конфигурации Nginx
Теперь, когда вы создали учетные данные базовой аутентификации HTTP, следующий шаг - обновить конфигурацию Nginx для целевого веб-сайта, чтобы использовать его.
Базовая аутентификация HTTP возможна благодаря директивам + auth_basic +
и + auth_basic_user_file +
. Значение + auth_basic +
- любая строка, которая будет отображаться в приглашении для аутентификации; значение + auth_basic_user_file +
- это путь к файлу паролей, который был создан на шаге 2.
Обе директивы должны быть в конфигурационном файле целевого сайта, который обычно находится в каталоге + / etc / nginx / sites-available +
. Откройте этот файл, используя + nano +
или ваш любимый текстовый редактор.
sudo nano /etc/nginx/sites-available/default
В разделе * location * добавьте обе директивы:
/etc/nginx/sites-available/default.conf
. . .
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
. . .
Сохраните и закройте файл.
Шаг 4 - Тестирование установки
Чтобы применить изменения, сначала перезагрузите Nginx.
sudo service nginx reload
Теперь попробуйте зайти на только что защищенный веб-сайт, перейдя по ссылке + http: /// +
в своем любимом браузере. Вам должно быть представлено окно аутентификации (в котором указано «Частная собственность», строка, которую мы установили для + auth_basic +
), и вы не сможете получить доступ к веб-сайту, пока не введете правильные учетные данные. Если вы введете имя пользователя и пароль, которые вы установили, вы увидите домашнюю страницу Nginx по умолчанию.
Заключение
Вы только что выполнили основное ограничение доступа к веб-сайту Nginx. Дополнительную информацию об этом методе и других средствах ограничения доступа можно получить по адресу in в документации Nginx.