Re: auth_request и named location

Валентин Бартенев vbart at nginx.com
Tue Jan 7 01:57:01 UTC 2014


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 брался из родительского запроса.

--
Валентин Бартенев


Подробная информация о списке рассылки nginx-ru