Thanks for the reply!
w.r.t. the "http://nginx.org/r/proxy_buffering", the doc does not mention if the buffering works for header, body or both, I'm wondering if nginx can postpone the sending of upstream header in any ways? otherwise the client will get wrong status code in this case.