Forum: NGINX reverse proxy removes Transfer-Encoding: chunked

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
2974d09ac2541e892966b762aad84943?d=identicon&s=25 Pommi (Guest)
on 2013-09-23 20:35
(Received via mailing list)
I'm trying to setup a nginx (1.4.1) reverse proxy to a HornetQ API using
this configuration:

proxy_http_version 1.1;
proxy_set_header Host $host;
upstream app {
    server 127.0.0.1:8000;
    keepalive 8;
}
server {
    listen 0.0.0.0:7000;
    server_name localhost;
    location / { deny all; }
    location = /messaging/ {
        proxy_pass http://app/messaging/;
        proxy_buffering off;
    }
}

After a lot of tcpdumping I see that that nginx removes the
Transfer-Encoding header and sets the Content-Length header in place of
it,
which the length of the first 'chunk'. After that the connection gets
reset.

When sending the following headers:

POST /messaging/ HTTP/1.1
Host: localhost
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Content-Transfer-Encoding: binary
User-Agent:
org.jboss.netty.channel.socket.http.HttpTunnelingClientSocketChannel

nginx will forward them like:

POST /messaging/ HTTP/1.1
Host: localhost
Content-Length: 60
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
User-Agent:
org.jboss.netty.channel.socket.http.HttpTunnelingClientSocketChannel

Is this normal behaviour?

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,243073,243073#msg-243073
A8108a0961c6087c43cda32c8616dcba?d=identicon&s=25 Maxim Dounin (Guest)
on 2013-09-23 21:42
(Received via mailing list)
Hello!

On Mon, Sep 23, 2013 at 02:34:28PM -0400, Pommi wrote:

>     listen 0.0.0.0:7000;
> which the length of the first 'chunk'. After that the connection gets
> org.jboss.netty.channel.socket.http.HttpTunnelingClientSocketChannel
>
> Is this normal behaviour?

Yes, it's expected behaviour.  Except it uses length of the full
request, not length of the first chunk.

--
Maxim Dounin
http://nginx.org/en/donation.html
This topic is locked and can not be replied to.