Welcome! Log In Create A New Profile

Advanced

Re: proxy_next_upstream and POSTs

Jonathan Leibiusky
May 10, 2011 03:32PM
Ok. Finally I could work it out, so thanks anyway!

Here is my small contribution to nginx, it is not much, but it is something.

https://github.com/xetorthio/nginx-upstream-idempotent

Thanks everyone for your help, and if you have time and find something
weired in the code, let me know!

Jonathan

On Tue, May 10, 2011 at 11:48 AM, Jonathan Leibiusky <ionathan@gmail.com>wrote:

> Right, that is why after digging for a while I realized I wan't doing it
> the right way.
> Now I wrote a module that will hook into the upstream logic and will set
> all the callbacks to the round-robin callbacks. Only the the peer.free
> callback will call the original round-robin callback and after that will do
> something like:
>
>
> if (r->method == NGX_HTTP_POST) {
> pc->retries = 0;
> }
>
> by setting retires = 0 I think nginx won't retry and will fail and I will
> be using round-robin logic for all the rest.
>
> My only problem is that in the peer.free callback I don't have access to
> the request struct, so I don't know is the request's method. So now I am not
> sure if the approach is the right one.
>
> Any thoughts on this?
>
>
> On Tue, May 10, 2011 at 11:32 AM, Piotr Sikora <piotr.sikora@frickle.com>wrote:
>
>> Hi,
>>
>>
>> 2. Any good advice on how I should do it? I was thinking on adding the
>>> validation somewhere in ngx_http_upstream_test_next (ngx_http_upstream.c),
>>> something like:
>>> if (r->method == NGX_HTTP_POST) {
>>> return NGX_DECLINED;
>>> }
>>>
>>
>> Keep in mind that you should decline sending request to another backend,
>> only if you already sent it upstream. There is a bunch of errors (bad
>> gateway, connection timeout, etc) which could lead to the code path in
>> question, for which you should still send request to another backend.
>>
>> Best regards,
>> Piotr Sikora < piotr.sikora@frickle.com >
>>
>>
>>
>> _______________________________________________
>> nginx mailing list
>> nginx@nginx.org
>> http://nginx.org/mailman/listinfo/nginx
>>
>
>
_______________________________________________
nginx mailing list
nginx@nginx.org
http://nginx.org/mailman/listinfo/nginx
Subject Author Posted

proxy_next_upstream and POSTs

Jonathan Leibiusky May 09, 2011 12:44PM

Re: proxy_next_upstream and POSTs

Jonathan Leibiusky May 09, 2011 06:38PM

Re: proxy_next_upstream and POSTs

Antoine Bonavita May 10, 2011 03:24AM

Re: proxy_next_upstream and POSTs

Jonathan Leibiusky May 10, 2011 10:10AM

Re: proxy_next_upstream and POSTs

Piotr Sikora May 10, 2011 10:34AM

Re: proxy_next_upstream and POSTs

Jonathan Leibiusky May 10, 2011 10:50AM

Re: proxy_next_upstream and POSTs

Jonathan Leibiusky May 10, 2011 03:32PM

Re: proxy_next_upstream and POSTs

Antoine Bonavita May 11, 2011 04:04AM

Re: proxy_next_upstream and POSTs

agentzh May 12, 2011 06:32AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 304
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