Hi Graham,

Thanks for the quick reply. I'm using embedded mode.

Timeout 300
KeepAlive On
KeepAliveTimeout 5

The 401 is being generated by my Django app.

On Saturday, February 22, 2014 7:09:38 PM UTC-8, Graham Dumpleton wrote:
>
> Are you using embedded mode or daemon mode of mod_wsgi? If you are not 
> sure, supply the mod_wsgi directives you are using to setup your 
> application.
>
> Also, what have you set the following directives to in Apache.
>
> Timeout
> KeepAlive
> KeepAliveTimeout
>
> Finally,who is generating the 401? Apache or your Django application.
>
> Graham
>
> On 23/02/2014, at 1:30 PM, [email protected] <javascript:> wrote:
>
> Hi,
>
> I'm using modwsgi version 3.4 with Apache and Django. I've observed that 
> if the Django app responds to a POST request before the body of the request 
> has been received, then if the client also stops sending the body as a 
> result of this early reply, then the server will delay finishing the 
> response for 10 seconds. This is reproducible with curl, which will stop 
> sending the request body the moment an error response is received.
>
> I'm not sure yet if this is a bug in modwsgi. It could be a bug in Apache 
> or Django, too. I've already discussed the matter on the curl mailing list 
> and have ruled out the bug being in curl. I'm hoping someone on this list 
> can provide me with direction about where to go from here.
>
> The flow in detail:
>
> 1) Curl sends POST request to server, with small body (< 100 bytes).
> 2) Server responds with 401 Unauthorized, with response body 
> "Unauthorized\n" and chunked encoding.
> 3) Curl stops sending the request body. For such a small body to begin 
> with, I believe this means it has not sent any of the body at all.
> 4) Curl receives the response body.
> 5) 10 seconds later, Curl receives the final chunk. I've confirmed with 
> tcpdump that the server is indeed withholding this packet until after the 
> delay.
>
> My guess is that there's a timeout within the server stack waiting for the 
> rest of the request body, even though the response has already been sent. 
> This is not reproducible against Apache in file-serving mode, as it seems 
> to always read the entire request body. Even if I POST a 10MB file to a 
> non-existent file, Apache will read the whole thing before responding with 
> 404. I think the bug is in modwsgi or Django, then, and so here I am. :)
>
> Maybe the 10 seconds is a hint about where the issue could be?
>
> Justin
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "modwsgi" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> To post to this group, send email to [email protected] <javascript:>
> .
> Visit this group at http://groups.google.com/group/modwsgi.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to