Гибридная авторизация в 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 и тогда потребуется совпадение двух условий и адреса и еще пароль будет запрашиваться, но это уже какой-то хардкор.

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

Интеграция Nextcloud с Keycloak через OpenID Connect: пошаговое руководство по настройке SSO

Nextcloud — отличное решение для хранения файлов, но управление пользователями вручную становится головной болью при масштабировании. Keycloak позволяет централизовать аутентификацию, обеспечивая безопасность, поддержку MFA (двухфакторной аутентификации) и удобный вход через…

Установка и оптимизация WordPress на Ubuntu 24.04 (LEMP + Redis) на VPS с ограниченным объёмом RAM

Пакеты в Ubuntu по умолчанию настроены на работу с серверами, имеющими довольно много оперативной памяти. Нам нужно жёстко ограничить потребление памяти для работы на Mikro VPS. Запускать будем мой блог…

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

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

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

Интеграция Nextcloud с Keycloak через OpenID Connect: пошаговое руководство по настройке SSO

Интеграция Nextcloud с Keycloak через OpenID Connect: пошаговое руководство по настройке SSO

Установка и оптимизация WordPress на Ubuntu 24.04 (LEMP + Redis) на VPS с ограниченным объёмом RAM

Установка и оптимизация WordPress на Ubuntu 24.04 (LEMP + Redis) на VPS с ограниченным объёмом RAM

Интеграция Gitea и Keycloak: пошаговое руководство

Интеграция Gitea и Keycloak: пошаговое руководство

Настройка VS Code AI Chat для работы со сторонним OpenAI провайдером.

Настройка VS Code AI Chat для работы со сторонним OpenAI провайдером.

ProxyChains специфическая работа с прокси-серверами в UNIX/Linux-системах

ProxyChains специфическая работа с прокси-серверами в UNIX/Linux-системах

Полное руководство по установке и настройке мониторинга с Grafana и Prometheus: от установки до первого дашборда

Полное руководство по установке и настройке мониторинга с Grafana и Prometheus: от установки до первого дашборда