Hi,
I stumbled on the same issue recently.
First, the Accept and Accept-Encoding headers used for the requests can change the behaviour of the exporters. Without specifying them with curl, I was not able to reproduce the issue.
It seems to be a problem with the gzip encoding. Nginx receives a shorter answer from the exporter (gziped), but is awaiting a longer answer (Content-Length?, wrong headers?) and triggers an error, thinking that the backend closed the connection too early. I had not enough time to understand all the details, and just tried to force HTTP1.1 on the backend with "proxy_http_version 1.1;". It solved the issue!
Hope it helps,
--
Éric