<div dir="ltr">Проблема с auth_basic не в том, как её наследовать, а в том, что на <a href="http://domain.com">domain.com</a>, <a href="http://site.domain.com">site.domain.com</a>, <a href="http://trash.domain.com">trash.domain.com</a> пользователю придется вводить пароли отдельно.<div>
<br></div><div>Д.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/5/8 Васильев "Zmey!" Олег <span dir="ltr"><<a href="mailto:zmey1992@ya.ru" target="_blank">zmey1992@ya.ru</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Занесите auth_basic в контекст http {}, все server{} внутри унаследуют его (только что проверил).<br>
<br>
05.05.2013, 18:23, "<a href="mailto:psixozzz@gmail.com">psixozzz@gmail.com</a>" <<a href="mailto:psixozzz@gmail.com">psixozzz@gmail.com</a>>:<br>
<div class="HOEnZb"><div class="h5">> Здравствуйте, Nginx-ru.<br>
><br>
> Дано:     домен     с   большим   количеством  поддоменов.  Задача:<br>
> открыть  доступ  только для ограниченного круга лиц, включая мобильные<br>
> клиенты.   Крайне   желательно   ограничиться   средствами  nginx,  не<br>
> вмешиваясь   в скрипты сайта. Авторизация нужна только для того, чтобы<br>
> не могли зайти люди "с улицы". Т.е. вполне подойдет что-то слабенькое,<br>
> как,  например,  факт  наличия  куки  у  клиента  и т.п. Никак не могу<br>
> придумать, как это реализовать.<br>
> Basic-авторизация    не   подходит,   т.к.   она   не   кроссдоменная.<br>
> Рассматривал  вариант  когда сайт не пускает никого, у кого<br>
> нет  определенной куки, а получить ее можно, зайдя на определенный урл<br>
> внутри   сайта.  Возникли  проблемы  с  внесением  изменений в текущую<br>
> конфигурацию nginx:<br>
><br>
>  if ($cookie_edws != '1033'){<br>
>       return 444;<br>
>  }<br>
><br>
>  location = /auth_url {<br>
>    add_header Set-Cookie "lcid=1033;Domain=.<a href="http://domain.com" target="_blank">domain.com</a>;Path=/;Max-Age=31536000";<br>
>    rewrite ^(.*)$ <a href="http://domain.com" target="_blank">domain.com</a> persistent;<br>
>  }<br>
><br>
>  if (!-e $request_filename) {<br>
>       rewrite ^(.*)$ /index.php break;<br>
>  }<br>
><br>
> Таким  образом, если физически auth_url не существует, то управление в<br>
> location  = /auth_url не попадет никогда, а всегда будет передано в if<br>
> (-e  $request_filename).  Даже  если  вмешаться в структуру сайта (что<br>
> неприемлимо)  и  создать  файл  auth_url,  то в location управление не<br>
> попадет  из-за  существования  if  ($cookie_edws != '1033'). Замкнутый<br>
> круг какой-то.<br>
><br>
> Может многоуважаемый All подскажет как быть?<br>
><br>
> --<br>
> С уважением,<br>
>  Psixozzz                          mailto:<a href="mailto:psixozzz@gmail.com">psixozzz@gmail.com</a><br>
><br>
> _______________________________________________<br>
> nginx-ru mailing list<br>
> <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br></div>