Welcome! Log In Create A New Profile

Advanced

Re: Spdy - Double Status header

Matthieu Tourne
June 20, 2012 12:24PM
On Jun 20, 2012 8:42 AM, "Valentin V. Bartenev" <ne@vbart.ru> wrote:
>
> On Wednesday 20 June 2012 05:12:12 Matthieu Tourne wrote:
> > Hi,
> >
> > I think, I've found an interesting corner case with the recent Nginx
> > SPDY support.
> > I'm using the latest : http://nginx.org/patches/spdy/patch.spdy-37.txt
> >
> > I connect to Nginx using SPDY, and then proxy_pass to another server,
> > with a location similar to this :
> >
> > location /redirect {
> > add_header 'Status' '301 Moved Permanently';
> > rewrite (.*) / permanent;
> > }
> >
> >
> > This causes Nginx to return 2 Spdy ":status" headers, which I guess is
> > disallowed by the protocol.
> >
> >
> > This is the output from spdycat (https://github.com/tatsuhiro-t/spdylay/
)
> > Chrome reports a similar error.
> >
> > [ 0.141] [INVALID; status=PROTOCOL_ERROR] recv SYN_REPLY frame
> > <version=2, flags=0, length=227>
> > (...)
> > status: 301
> > status: 301 Moved Permanently
> >
> >
> > Note that this can be fixed using configuration to hide any potential
> > "Status" header returned by the second server, before the Spdy
> > response is generated.
> > But the code should probably handle this ?
>
> The problem is that spdy draft 2 reserved "status" and "version" header
> names for its own purpose. This was fixed in draft 3, where all such
> headers have the colon prefix (":status", ":version").
>
> Personally, I think that since these headers are non-standard for HTTP
> protocol, then the user is entirely responsible for their usage. However,
> because the "Status" header is quite often appears somewhere, then hiding
> of these headers inside the spdy module will cause less headaches.

Why not guarantee that all these reserved headers will only appear once in
the response?
This way the visiting browser never "breaks".

Nginx could always take the first header found in the http response for the
spdy response. And avoid breaking just because the upstream is badly
configured and returns 2 Version headers for example.
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

Spdy - Double Status header

Matthieu Tourne 1310 June 19, 2012 09:14PM

Re: Spdy - Double Status header

Valentin V. Bartenev 433 June 20, 2012 11:44AM

Re: Spdy - Double Status header

Matthieu Tourne 441 June 20, 2012 12:24PM

Re: Spdy - Double Status header

Valentin V. Bartenev 520 June 20, 2012 01:02PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 247
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready