т.е например что-то типа
http
map $http_user_agent $auth {
"opera" off;
"^opera" on;
}location / {
root /var/www/;
auth_basic $auth;И если да, то как?
Потому что всё равно при заходе на страницу спрашивается авторизация с текстом $auth , т.е переменная не интерпретируется
Подскажите, как сделать правильно
При попытке передать auth_basic $var => $var будет интерпретирован как строка, потому не будет никоим образом обработан.
В случае, если Вам требуется в зависимости от браузера направлять пользователя, разумнее сделать несколько location с единым реврайтом (как в доке http://wiki.nginx.org/HttpMapModule):http =>
map $http_user_agent $check {
default http://domain/invalid;
~opera http://domain/valid;
}server {
server_name domain;
rewrite ^(.*)$ $check permanent;location /valid {
...
}location /invalid {
...
}
}