Forum: NGINX Trouble with $uri in subrequest

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
2974d09ac2541e892966b762aad84943?d=identicon&s=25 ThomasLohner (Guest)
on 2013-07-17 22:52
(Received via mailing list)
Hi there,

i'm having trouble getting the request_uri via lua in a subrequest.

ngx.var.uri will always return the uri of the parent request whereas
something like ngx.req.get_uri_args will return the correct args for the
subrequest.

any ideas on how to get the subrequets uri? or am i missing something
here?

i'm using 1.4.1, thanks in advance

Thomas

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,240968,240968#msg-240968
37f3ea777f96500b332a1a89d6027897?d=identicon&s=25 Yichun Zhang (agentzh) (Guest)
on 2013-07-18 01:22
(Received via mailing list)
Hello!

On Wed, Jul 17, 2013 at 1:51 PM, ThomasLohner wrote:
> i'm having trouble getting the request_uri via lua in a subrequest.
>
> ngx.var.uri will always return the uri of the parent request whereas
> something like ngx.req.get_uri_args will return the correct args for the
> subrequest.
>
> any ideas on how to get the subrequets uri? or am i missing something here?
>

Could you please give a minimal example that can reproduce this issue?

Apparently, the following example works as expected on my side with
ngx_lua 0.8.4 + nginx 1.4.1 on Linux x86_64:

    location = /sub {
        internal;
        content_by_lua '
            ngx.say("sr uri: ", ngx.var.uri)
        ';
    }

    location = /main {
        echo_subrequest GET /sub;
    }

Accessing /main with curl yields

    $ curl localhost:1985/main
    sr uri: /sub

That is, ngx.var.uri evaluates to the URI of the subrequest, /sub, not
that of the parent request, /main.

Best regards,
-agentzh
2974d09ac2541e892966b762aad84943?d=identicon&s=25 ThomasLohner (Guest)
on 2013-07-18 10:40
(Received via mailing list)
oh my...

i was fooled by $request_uri which returns the parent uri. i understand
that
this is intended behavior.

sorry!

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,240968,240978#msg-240978
This topic is locked and can not be replied to.