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