Welcome! Log In Create A New Profile

Advanced

Re: auth_request_set into variable and lua

December 04, 2012 10:38PM
Thank you taking the time with your detailed response. I have some
comments below.

On Tue, Dec 4, 2012 at 9:19 PM, agentzh <agentzh@gmail.com> wrote:
> Hello!
>
> On Tue, Dec 4, 2012 at 2:18 PM, djczaski wrote:
>> Trying to get a header from an auth_request into a variable and use it from
>> Lua with no luck. This was the simple example I tried.
>>
>
> You're making several mistakes. See the discussion below:
>
>> location = /auth {
>> add_header X-Boo "Hello World";

This was an attempt to make a simple example. The authentication
comes from a fastcgi process.

> Mistake #1: The add_header directive from the standard ngx_headers
> module has no effect on subrequests while your location /auth here is
> accessed by a subrequest issued via the auth_request directive.
>
>> return 204;
>> }
>>
>> location /test {
>> auth_request /auth;
>> auth_request_set $test $upstream_http_x_boo;
>
> Mistake #2: The $upstream_http_XXX variables are only meaningful when
> the *current* location is configured by one of those Nginx upstream
> modules like ngx_proxy, ngx_fastcgi, ngx_uwsgi, and etc. Here your
> current location, location /test, is not configured by any Nginx
> upstream modules (neither ngx_auth_request nor ngx_lua are upstream
> modules).

The fastcgi process from /auth sets some headers which I need to
forward into parameters for a second fastcgi processes.

> Mistake #3: The $upstream_http_XXX variables are only in effect for
> the current request. It won't inherit values from any other requests
> including subrequests.
>
>> add_header X-BooHoo $test;
>>
>> content_by_lua '
>> ngx.say("(" .. ngx.var.test .. ")")
>> ';
>> }
>>
>
> BTW, I'm not sure what business requirements you're trying to achieve
> here but I think you can just use access_by_lua with
> ngx.location.capture here in place of auth_request and you can inspect
> the subrequest's response headers easily in Lua.

I was looking at nginx as a replacement of another web server in order
to improve performance on an embedded platform. Actually, I was able
to implement this through access_by_lua while I was having problems
and although it worked, performance was worse than using the fastcgi
authorizer on the other server. To improve performance, I could write
a module and I looked at using auth_pam however the pam conversation
on each request is extremely slow. It could be that all of this is
the wrong path. The basic requirement is user login with pam
authentication.

> Best regards,
> -agentzh
>
> _______________________________________________
> nginx mailing list
> nginx@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

auth_request_set into variable and lua

djczaski December 04, 2012 05:18PM

Re: auth_request_set into variable and lua

agentzh December 04, 2012 09:20PM

Re: auth_request_set into variable and lua

djczaski December 04, 2012 10:38PM

Re: auth_request_set into variable and lua

agentzh December 05, 2012 10:04PM

Re: auth_request_set into variable and lua

djczaski December 05, 2012 10:36PM

Re: auth_request_set into variable and lua

agentzh December 05, 2012 11:02PM

Re: auth_request_set into variable and lua

Maxim Dounin December 05, 2012 06:22AM

Re: auth_request_set into variable and lua

djczaski December 05, 2012 09:27AM

Re: auth_request_set into variable and lua

djczaski December 05, 2012 09:27AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 281
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready