Hello Maxim,
Thanks for your recommendations. I realise that what this server is doing is a bit unusual, however:
> That is, it's 100 Continue isn't expected to be returned to nginx
> from a complaint HTTP/1.1 server even if a request is via
> HTTP/1.1.
I just wanted to clarify that the server *is* conditionally compliant with HTTP/1.1, since this is a "SHOULD" requirement. Would be nice if this were supported, since otherwise you get timeouts that are very hard to explain and debug (but are easily attributable to nginx's proxying).
In any case. I'm glad I got to the bottom of this very puzzling issue, and that future googlers will finally find something when googling for "nginx 100 continue timeout".