@4upik

Как написать правило в nginx для определенных УРЛ пускать по определенному ip адресу, а если ip адрес иной то запрашивать авторизацию по логин паролю?

Как написать правило в nginx для определенных УРЛ пускать по определенному ip адресу, а если ip адрес иной то запрашивать авторизацию по логин паролю ?
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 2
@mezhuev
Системный администратор
Ограничения по IP-адресу: nginx.org/ru/docs/http/ngx_http_access_module.html

Аутентификация по логину и паролю: nginx.org/ru/docs/http/ngx_http_auth_basic_module.html
Или с помощью дополнительного запроса (например, к бэкенду): nginx.org/ru/docs/http/ngx_http_auth_request_modul...

Чтобы всё это работало так как вам нужно, достаточно добавить в соответствующий контекст:
satisfy any;

Пример
server {
    location / {
        proxy_pass http://backend;
    }

    location /private {
        allow 192.168.0.0/24;
        deny all

        auth_basic "Private zone";
        auth_basic_user_file htpasswd;

        satisfy any;

        proxy_pass http://backend/private;
    }
}
Ответ написан
Комментировать
@4upik Автор вопроса
location / {
index index.php;
satisfy any;
allow 10.0.0.0/8;
auth_basic "example.com intra";
auth_basic_user_file /etc/nginx/htpasswd/example.com.htpasswd;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы