Nginx 1.11.0: client sent stream with data before settings were acknowledged while processing HTTP/2

Hello,

As of recently, shortly after updating nginx to version 1.11.0, we
started
getting the following errors in the error log for our sites configured
with
HTTP/2 and SSL:

2016/04/29 14:54:12 [info] 22321#22321: *290 client sent stream with
data
before settings were acknowledged while processing HTTP/2 connection,
client: XXX.XXX.XXX.XXX, server: 0.0.0.0:443

This is so far only happening when browsing pages with Safari (9.1) and
only
during a POST event. Safari displays an empty white page with an error
message “Safari Can’t Connect to the Server”. Our observations so far
are
that this happens after some time of inactivity, which leads me to
believe
that some kind of timeout has occurred (keepalive_timeout comes to
mind).
We have the following keepalive settings in nginx.conf:

http {
keepalive_timeout 75s;
}

But this issue has never occurred before.

Any feedback/help is appreciated!

Andrew

Posted at Nginx Forum:

Strange, cannot find 1.11.x

Maybe you mean 1.10.0?

root@NC-PH-0657-10:/usr/local/src/nginx# wget
http://nginx.org/download/nginx-1.11.0.tar.gz
–2016-04-29 10:53:26-- http://nginx.org/download/nginx-1.11.0.tar.gz
Resolving nginx.org (nginx.org)… 206.251.255.63, 95.211.80.227,
2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|206.251.255.63|:80… connected.
HTTP request sent, awaiting response… 404 Not Found
2016-04-29 10:53:26 ERROR 404: Not Found.

root@NC-PH-0657-10:/usr/local/src/nginx# wget
http://nginx.org/download/nginx-1.11.1.tar.gz
–2016-04-29 10:53:30-- http://nginx.org/download/nginx-1.11.1.tar.gz
Resolving nginx.org (nginx.org)… 95.211.80.227, 206.251.255.63,
2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|95.211.80.227|:80… connected.
HTTP request sent, awaiting response… 404 Not Found
2016-04-29 10:53:31 ERROR 404: Not Found.

Posted at Nginx Forum:

Sorry, this is version of nginx obtained directly from GIT master
branch. I
believe in the sense of described behaviour, it is essentially the same
as
1.10.0.

Posted at Nginx Forum:

On Friday 29 April 2016 10:26:39 locojohn wrote:

This is so far only happening when browsing pages with Safari (9.1) and only
But this issue has never occurred before.

Any feedback/help is appreciated!

This issue should be reported to Safari. It appears that it doesn’t
handle refused streams.

I’m going to make a workaround, but it will take time.

wbr, Valentin V. Bartenev

Valentin V. Bartenev Wrote:

This issue should be reported to Safari. It appears that it doesn’t
handle refused streams.

I’m going to make a workaround, but it will take time.

Thank you Valentin!

Let me know when the workaround is in the trunk so I could get it form
the
repository and recompile nginx.

Best wishes,

Andrejs

Posted at Nginx Forum:

I’m seeing the same thing happen in Firefox 46.

Posted at Nginx Forum:

eiji-gravion Wrote:

Valentin V. Bartenev Wrote:

This issue should be reported to Safari. It appears that it doesn’t
handle refused streams.

I’m going to make a workaround, but it will take time.

Just to clarify: this issue also affects Firefox 45. I suppose it’s
nginx
bug, because we have never experienced it before the update.

Andrejs

Posted at Nginx Forum:

This also happens with okhttp 3.2.0 (Android). Last working nginx
version is
1.9.13, There I use basic authorization and add an Auth header with a
network interceptor with credentials.

Posted at Nginx Forum:

On Tuesday 10 May 2016 04:55:30 locojohn wrote:

[…]

Are you sure about Firefox 45?

There is a ticket about Firefox 46:

wbr, Valentin V. Bartenev