Bug 64133 - mod_proxy does not work with h2 protocol enabled with small request bodies
Summary: mod_proxy does not work with h2 protocol enabled with small request bodies
Status: NEW
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mod_proxy_http (show other bugs)
Version: 2.4.41
Hardware: PC Linux
: P2 major with 3 votes (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-02-11 09:04 UTC by charly ghislain
Modified: 2020-02-11 09:09 UTC (History)
0 users



Attachments
chrome http2 har (56.30 KB, text/plain)
2020-02-11 09:04 UTC, charly ghislain
Details
chrome http2 log (60.25 KB, text/x-log)
2020-02-11 09:05 UTC, charly ghislain
Details
firefox http2 har (7.69 KB, text/plain)
2020-02-11 09:05 UTC, charly ghislain
Details
firefox http2 log (125.35 KB, text/x-log)
2020-02-11 09:05 UTC, charly ghislain
Details
idea http2 log (25.12 KB, text/x-log)
2020-02-11 09:05 UTC, charly ghislain
Details
chrome http1 log (470.05 KB, text/x-log)
2020-02-11 09:06 UTC, charly ghislain
Details
vhost configuration (770 bytes, text/plain)
2020-02-11 09:06 UTC, charly ghislain
Details

Note You need to log in before you can comment on or make changes to this bug.
Description charly ghislain 2020-02-11 09:04:51 UTC
Created attachment 37003 [details]
chrome http2 har

If I enable the h2 protocol on my virtual host, then all POST requests that send an empty json object `{}` fail to get proxified when sent from firefox or chromium.
It works fine with requests sent from curl or idea.

As only the empty body requests fail, I assume it is a bug in mod_proxy, mod_http2 or mod_ssl, but it might be a firefox/chromium bug as well. Feel free to let me know and Ill open a ticket there.

Under firefox, it seems the request may sometimes pass. 

The failing requests get the error:
[proxy_http:error] [pid 86:tid 139928507143936] (70008)Partial results are valid but processing is incomplete: [client 172.21.0.1:36444] AH01095: prefetch request body failed to 172.21.0.3:8080 (as) from 172.21.0.1 (), referer: http://localhost:4200/trustee/list

Im attaching the vhost config and several error logs at trace4 level.
- log of a failing request sent on h2 by firefox + har
- log of a failing request sent on h2 by opera (chromium) + har
- log of a succesful request on h2 sent by idea
- log of a successful request sent on http1 by opera (chromium).
Comment 1 charly ghislain 2020-02-11 09:05:08 UTC
Created attachment 37004 [details]
chrome http2 log
Comment 2 charly ghislain 2020-02-11 09:05:26 UTC
Created attachment 37005 [details]
firefox http2 har
Comment 3 charly ghislain 2020-02-11 09:05:43 UTC
Created attachment 37006 [details]
firefox http2 log
Comment 4 charly ghislain 2020-02-11 09:05:59 UTC
Created attachment 37007 [details]
idea http2 log
Comment 5 charly ghislain 2020-02-11 09:06:15 UTC
Created attachment 37008 [details]
chrome http1 log
Comment 6 charly ghislain 2020-02-11 09:06:40 UTC
Created attachment 37009 [details]
vhost configuration
Comment 7 charly ghislain 2020-02-11 09:09:58 UTC
Im using apache in a ubuntu container. The installed package is:

Package: apache2
Status: install ok installed
Priority: optional
Section: httpd
Installed-Size: 527
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Version: 2.4.41-1ubuntu1