ngx_lua + proxy_next_upstream

Jedrzej Nowak pigmej at gmail.com
Tue Sep 24 09:35:04 UTC 2013


Ok, I still have some problems. It works but not perfectly.

My config is:

        location /test {
                 internal;
                 rewrite  /test(.*)  $1 break;
                 proxy_buffering             off;
                 proxy_set_header            Host $host;
                 proxy_set_header            X-Forwarded-For
$proxy_add_x_forwarded_for;
                 proxy_redirect              off;
                 proxy_connect_timeout       10;
                 proxy_send_timeout          30;
                 proxy_read_timeout          30;
                 proxy_pass                  http://$upstream;
        }

        location / {
                 set $upstream "";
                 set $app_name "";
                 content_by_lua_file conf/lua_proxy.lua;
        }

The question is how can I do NOT redirect ? I tried with @test instead of
/test but no success. Is there any other way to do that ?

lua looks like:

    [...]
    ngx.var.upstream = "192.168.1.10:9999"
    res = ngx.location.capture('/test' .. ngx.var.request_uri,
{share_all_vars = true})
    [...]


Pozdrawiam
Jędrzej Nowak


On Mon, Sep 23, 2013 at 9:16 AM, Jedrzej Nowak <pigmej at gmail.com> wrote:

> Hey,
>
> Thanks for your reply. Is there any good "example" of thing what I want to
> archive ?
>
> Shall I create something like:
>
> location @blah {
>
>    # here the "normal" configuration for LB
>
> }
>
>
> location / {
>
>    # here the LUA logic
>
>    # probably with share_all_vars=true
>
>    # subrequest to @blah
>
> }
>
>
> Is something like that recommended or how should it be done ?
>
> Pozdrawiam
> Jędrzej Nowak
>
>
> On Fri, Sep 20, 2013 at 2:34 AM, Yichun Zhang (agentzh) <agentzh at gmail.com
> > wrote:
>
>> Hello!
>>
>> On Wed, Sep 18, 2013 at 6:09 AM, Jedrzej Nowak wrote:
>> > The question is how can I archive proxy_next_upstream.
>> > Preferably I would like to return to lua with a error reason.
>> > If the only way is to return several servers in upstream from lua, how
>> to do
>> > so ?
>> >
>>
>> If you want to return the control back to Lua and let your Lua code do
>> the upstream retries or something, then you should use the
>> ngx.location.capture() API instead to initiate an Nginx subrequest to
>> ngx_proxy:
>>
>>     http://wiki.nginx.org/HttpLuaModule#ngx.location.capture
>>
>> Regards,
>> -agentzh
>>
>> _______________________________________________
>> nginx mailing list
>> nginx at nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20130924/44e4c213/attachment.html>


More information about the nginx mailing list