Closed
Bug 1268775
Opened 9 years ago
Closed 9 years ago
Cannot establish connection when using HTTP/2 and POST after idle time
Categories
(Core :: Networking: HTTP, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 1269055
People
(Reporter: nick, Unassigned)
Details
(Whiteboard: [necko-backlog])
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36
Steps to reproduce:
Browse system using POST requests using HTTP/2 connection (nginx 1.9.15). Then stop for 5 minutes or more.
Actual results:
Then I try to browse the same system in opened tab (afrer 5 mins idle) I get error: cannot establish secure connection. After several refreshes everything works fine.
This happens only in 46 version, on Ubuntu 16.04 and Windows 7 - the same.
FF 45.0.1 works fine in the same setup.
Expected results:
Normal browsing.
Updated•9 years ago
|
Whiteboard: [necko-backlog]
Comment 2•9 years ago
|
||
I've tested Firefox 46 with nginx and it seems there is a serious degradation. Firefox 46 has lost an ability to properly handle refused streams. Previous versions resend the request in this case as expected.
As a result the first POST request in the connection fails, since nginx in order to lower initial window refuses all streams with DATA until the SETTINGS frame is acknowledged.
Updated•9 years ago
|
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Flags: needinfo?(hurley)
Resolution: --- → DUPLICATE
Comment 4•9 years ago
|
||
(In reply to Valentin V. Bartenev from comment #2)
> I've tested Firefox 46 with nginx and it seems there is a serious
> degradation. Firefox 46 has lost an ability to properly handle refused
> streams. Previous versions resend the request in this case as expected.
>
its a dup of 1269055 - fixed on 47. Its not known if it will be fixed in a dot release of 46 yet.
> As a result the first POST request in the connection fails, since nginx in
> order to lower initial window refuses all streams with DATA until the
> SETTINGS frame is acknowledged.
as discussed on httpbis - that's really a pretty severe shortcoming with the server. If you refuse a stream that is adhering to the default buffering properties of the session you are running the risk of not getting that transaction. H2 does not have the round trip property you are depending on.
Comment 5•9 years ago
|
||
It works fine with Nginx 1.9.12. We was hit by this problem when upgrading to Nginx 1.10.
Comment 6•9 years ago
|
||
Hi Ondrej, nick, and Valentin. Here's a suggestion from our developers for a workaround: Adjust your server side persistent connection timeout to be about 5 seconds longer than the firefox value. Firefox uses 115 seconds for HTTP/1.x and 180 seconds for HTTP/2.
Hope that helps. If you try it, please let us know the result.
Flags: needinfo?(vbart)
Flags: needinfo?(nick)
Flags: needinfo?(bugzilla)
Updated•7 years ago
|
Flags: needinfo?(vbart)
Flags: needinfo?(nick)
Flags: needinfo?(bugzilla)
You need to log in
before you can comment on or make changes to this bug.
Description
•