> Hi,
>
> I'm trying to debug a strange problem I've been seeing on my site:
> occasionally, I get weird errors reading dynamic content served to me via
> uwsgi/nginx. It appears that the response is cut in the middle, i.e., if
> there's an HTML that should be 1,000 bytes, I see only the first 500
> bytes.
>
> This wouldn't trouble me so much, unless this page would enter the cache
> of
> my browser and appear to remain corrupt even after reloads. This only
> happened so far on my development setup, and only rarely, but I'm afraid
> it
> may happen to some of my users in production and I don't know about it.
>
> I now think the problem is that if the connection between uWSGI and nginx
> is
> interrupted in the middle of a uwsgi "HTTP" response with no
> content-length
> and no transfer-encoding, nginx has no way of knowing that it only has a
> partial response. It will then send the partial response it has to the
> client, along with any cache-control headers, letting the client cache the
> bad response.
>
> I assume if the connection will be dropped because of a network problem
> (timeout/RST), nginx will be smart enough to ignore this response and
> return
> a 502/504 page. But what if uWSGI is killed/crashed (as sometimes happens
> on
> my development setup :)?
>


Same thing, a RST will be sent.

By the way, as nginx, uWSGI has no way to know if a response is fully sent.

If you want to be sure, "fix" your response adding the content-length (you
can use a middleware)


-- 
Roberto De Ioris
http://unbit.it
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to