Re: auth_request и named location
Maxim Dounin
mdounin at mdounin.ru
Tue Jan 7 02:14:28 UTC 2014
Hello!
On Tue, Jan 07, 2014 at 05:57:01AM +0400, Валентин Бартенев wrote:
> On Tuesday 07 January 2014 05:47:18 Maxim Dounin wrote:
> > Hello!
> >
> > On Mon, Jan 06, 2014 at 04:53:33PM +0200, Gena Makhomed wrote:
> > > в документации есть пример использования auth_request.
> > >
> > > сейчас приходится писать
> > >
> > > location = /auth {
> > >
> > > internal;
> > > fastcgi_param SCRIPT_FILENAME /home/www/example.com/engine/auth.php;
> > > include /etc/nginx/fastcgi_params.auth; # без CONTENT_LENGTH
> > > fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
> > > fastcgi_pass_request_body off;
> > >
> > > }
> > >
> > > а можно было бы проще:
> > >
> > > location @auth {
> > >
> > > fastcgi_param SCRIPT_FILENAME /home/www/example.com/engine/auth.php;
> > > include /etc/nginx/fastcgi_params.auth; # без CONTENT_LENGTH
> > > fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
> > > fastcgi_pass_request_body off;
> > >
> > > }
> > >
> > > но вариант auth_request через named location почему-то не работает.
> > >
> > > в варианте с location @auth основной плюс в том,
> > > что uri /auth можно использовать для целей сайта.
> > > да и в конфиге тогда писать на одну строчку меньше.
> > >
> > > или auth_request через named location в nginx реализовать невозможно?
> >
> > Именованные location'ы имеют сильно ограниченную область
> > применимости - они предназначены для того, чтобы перенаправлять в
> > них запросы без изменения URI. Создавать подзапросы в именованный
> > location - нельзя.
>
> Подозреваю, что было бы удобно и логично, если URI при подзапросе в
> именованный location брался из родительского запроса.
Если делать - то наверное делать так, да. Но сейчас этого нет, и
я совершенно не уверен, что это нужно делать - скорее, я
придерживаюсь противоположного мнения.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru