Hello! On Tue, Nov 06, 2018 at 05:24:58AM -0500, inkognito0609 wrote:
> Модуль ngx_http_access_module позволяет ограничить доступ для определённых > адресов клиентов. > ngx_http_auth_basic_module позволяет ограничить доступ к ресурсам с > проверкой имени и пароля. > > Можно ли реализовать проверку имени и пароля при условии входа с > определенных ip адресов?, если да то как? Есть директива satisfy, она позволяет произвольно комбинировать access (allow/deny) и auth_basic. Подробнее про неё рассказано в документации тут: http://nginx.org/ru/docs/http/ngx_http_core_module.html#satisfy Поведение по умолчанию - "satisfy all", то есть проверяются результаты как allow/deny, так и auth_basic. То есть для того, чтобы доступ был разрешён только с определённых IP-адресов, и при этом у пришедших с этих адресов спрашивалась авторизация, достаточно написать: allow 192.168.0.0/24; deny all; auth_basic "restricted site"; auth_basic_user_file /path/to/htpasswd; При этом nginx сначала проверит IP-адрес, и если доступ с этого IP-адреса запрещён - вернёт ошибку. Если же вдруг я неверно понял вопрос и на самом деле зачем-то хочется, чтобы доступ был разрешён всем, но с определённых IP-адресов - только с авторизацией, то можно использовать "satisfy any", и разрешить доступ от всех адресов, кроме тех, у которых нужно спрашивать авторизацию: satisfy any; deny 192.168.0.0/24; allow all; auth_basic "restricted site"; auth_basic_user_file /path/to/htpasswd; -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru