Re: auth_request и named location

Maxim Dounin mdounin at mdounin.ru
Tue Jan 7 01:47:18 UTC 2014


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 - нельзя.

-- 
Maxim Dounin
http://nginx.org/



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