Гибридная авторизация в Nginx (IP-арес+Пароль)

Оцените статью

Итого, вводные данные. Что нам надо в продолжении экспериментов с WordPress. Прикроем доступ из дикого интернета к нашему стэйджу. Откроем доступ с известных нам ip-адресов, а все прочие запросы поставим на basic-авторизацию.

Устанавливаем утилиту для управления паролями basic-auth для Nginx и Apache она одна.

# aptitude install apache2-utils

Генерируем пароль.

# htpasswd -c /etc/nginx/.htpasswd admin

Если требуется добавить пользователя в существующий файл, то просто убираем флаг -c.

# htpasswd /etc/nginx/.htpasswd admin2

Файл с паролями мы создали и теперь немного модернизируем Nginx Vhost-конфигурацию и разрешим беспарольный доступ с определенных IP-адресов, а для всех адресов не включенных в белый список доступ к сайту по паролю.

Например, чистая Basic-авторизация будет выглядеть вот так.

    auth_basic           "Administrator’s Area";
    auth_basic_user_file /etc/nginx/.htpasswd;

А с использованием белых списков немного сложнее.

    satisfy any;
    allow 37.194.5.244/32;
    allow 10.212.1.0/24;
    allow 127.0.0.1;
    deny  all;
    auth_basic           "Administrator’s Area";
    auth_basic_user_file /etc/nginx/.htpasswd;

Еще можно сделать satisfy all и тогда потребуется совпадение двух условий и адреса и еще пароль будет запрашиваться, но это уже какой-то хардкор.

Похожие записи

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

GlusterFS — это масштабируемая, распределённая файловая система с открытым исходным кодом, которая объединяет хранилища нескольких серверов в единое пространство имён. Она идеально подходит для создания отказоустойчивых и высокопроизводительных хранилищ, особенно…

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Запихать Mysql в Kubernetes оказалось не очень хорошей идеей и я решил основательно пересмотреть инфраструктуру своего pet-проекта и за основу будет принят кластер из трех серверов. На каждом узле кластера…

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

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

Читать еще статьи

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Как проверить работу камеры в Ubuntu Linux: диагностика USB и встроенных веб-камер

Как проверить работу камеры в Ubuntu Linux: диагностика USB и встроенных веб-камер

Полное руководство по установке Docker, Docker Compose, kubectl, Helm и k9s в Linux

Полное руководство по установке Docker, Docker Compose, kubectl, Helm и k9s в Linux

Настройка маршрутизации через VipNet: пошаговое руководство для RedOS

Настройка маршрутизации через VipNet: пошаговое руководство для RedOS