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