1.9.13 and non_idempotent

Frank Liu gfrankliu at gmail.com
Sat Apr 2 05:33:22 UTC 2016


Will this work?

--- ngx_http_upstream.c.orig 2016-03-29 15:09:31.000000000 +0000
+++ ngx_http_upstream.c 2016-04-02 05:28:17.877466756 +0000
@@ -3990,6 +3990,7 @@
     timeout = u->conf->next_upstream_timeout;

     if (u->request_sent
+        && (ft_type != NGX_HTTP_UPSTREAM_FT_HTTP_404)
         && (r->method & (NGX_HTTP_POST|NGX_HTTP_LOCK|NGX_HTTP_PATCH)))
     {
         ft_type |= NGX_HTTP_UPSTREAM_FT_NON_IDEMPOTENT;

On Fri, Apr 1, 2016 at 8:46 AM, Frank Liu <gfrankliu at gmail.com> wrote:

> Can you post a quick patch on how to exclude http_404?
>
> Thanks!
> Frank
>
> On Tue, Mar 29, 2016 at 8:26 PM, Maxim Dounin <mdounin at mdounin.ru> wrote:
>
>> Hello!
>>
>> On Tue, Mar 29, 2016 at 08:04:33PM -0700, Frank Liu wrote:
>>
>> > It's a custom error code, think of it as if http_404, so if the first
>> > upstream can't handle this request , it will send "404" saying it is not
>> > for me, please try next, nginx should then send the same request to next
>> > upstream.
>>
>> Well, nginx can't handle custom error codes in
>> proxy_next_upstream, so this is probably irrelevant anyway.
>> Though I was considered excluding http_403 and http_404 from
>> idempotence checks, it may make sense to do it if there are enough
>> such use cases.
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20160401/f3cb60e6/attachment.html>


More information about the nginx mailing list