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