Mailing List Archive

[Bug 66373] New: Multi chunk post data does not arrive
https://bz.apache.org/bugzilla/show_bug.cgi?id=66373

Bug ID: 66373
Summary: Multi chunk post data does not arrive
Product: Apache httpd-2
Version: 2.4.54
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: mod_proxy_fcgi
Assignee: bugs@httpd.apache.org
Reporter: torgato@posteo.de
Target Milestone: ---

If I make a POST request to apache configured with event/fpm which is chunked
and has more than 1 chunk, then the data does not arrive at the php script.

If I use prefork instead of event/fpm all works fine

If I make a non chunked request, or a chunked request with only one chunk, all
is fine as well.

To reproduce use CURL with post data larger than 64kb


Works fine (non chunked request):
curl -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" -X POST
-d @postdata.dat "http://test.website.de/test.php"

Failes (chunked request):
curl -H "Transfer-Encoding: chunked" -H "Content-Type:
application/x-www-form-urlencoded;charset=UTF-8" -X POST -d @postdata.dat
"http://test.website.de/test.php"

Works fine (chunked but < 64kb):
curl -H "Transfer-Encoding: chunked" -H "Content-Type:
application/x-www-form-urlencoded;charset=UTF-8" -X POST -d @postdata_small.dat
"http://test.website.de/test.php"

Note that php://input as well as $_POST is empty when it fails.

I noticed this as some of our clients chunk POST requests already after 1024Kb


I am using 2.4.54

httpd -V
[Fri Dec 02 09:39:38.916798 2022] [so:warn] [pid 11980:tid 140066409769152]
AH01574: module systemd_module is already loaded, skipping
Server version: Apache/2.4.54 (codeit)
Server built: Jun 8 2022 09:34:58
Server's Module Magic Number: 20120211:124
Server loaded: APR 1.7.0, APR-UTIL 1.6.1, PCRE 10.23 2017-02-14
Compiled using: APR 1.7.0, APR-UTIL 1.6.1, PCRE 10.23 2017-02-14
Architecture: 64-bit
Server MPM: event
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_PROC_PTHREAD_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"


apachectl -M
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
access_compat_module (shared)
actions_module (shared)
alias_module (shared)
allowmethods_module (shared)
auth_basic_module (shared)
auth_digest_module (shared)
authn_anon_module (shared)
authn_core_module (shared)
authn_dbd_module (shared)
authn_dbm_module (shared)
authn_file_module (shared)
authn_socache_module (shared)
authz_core_module (shared)
authz_dbd_module (shared)
authz_dbm_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_owner_module (shared)
authz_user_module (shared)
autoindex_module (shared)
brotli_module (shared)
cache_module (shared)
cache_disk_module (shared)
cache_socache_module (shared)
data_module (shared)
dbd_module (shared)
deflate_module (shared)
dir_module (shared)
dumpio_module (shared)
echo_module (shared)
env_module (shared)
expires_module (shared)
ext_filter_module (shared)
filter_module (shared)
headers_module (shared)
include_module (shared)
info_module (shared)
log_config_module (shared)
logio_module (shared)
macro_module (shared)
mime_magic_module (shared)
mime_module (shared)
negotiation_module (shared)
remoteip_module (shared)
reqtimeout_module (shared)
request_module (shared)
rewrite_module (shared)
setenvif_module (shared)
slotmem_plain_module (shared)
slotmem_shm_module (shared)
socache_dbm_module (shared)
socache_memcache_module (shared)
socache_redis_module (shared)
socache_shmcb_module (shared)
status_module (shared)
substitute_module (shared)
suexec_module (shared)
unique_id_module (shared)
unixd_module (shared)
userdir_module (shared)
version_module (shared)
vhost_alias_module (shared)
watchdog_module (shared)
dav_module (shared)
dav_fs_module (shared)
dav_lock_module (shared)
lua_module (shared)
mpm_event_module (shared)
proxy_module (shared)
lbmethod_bybusyness_module (shared)
lbmethod_byrequests_module (shared)
lbmethod_bytraffic_module (shared)
lbmethod_heartbeat_module (shared)
proxy_ajp_module (shared)
proxy_balancer_module (shared)
proxy_connect_module (shared)
proxy_express_module (shared)
proxy_fcgi_module (shared)
proxy_fdpass_module (shared)
proxy_ftp_module (shared)
proxy_http_module (shared)
proxy_hcheck_module (shared)
proxy_scgi_module (shared)
proxy_uwsgi_module (shared)
proxy_wstunnel_module (shared)
ssl_module (shared)
systemd_module (shared)
cgid_module (shared)
perl_module (shared)
fcgid_module (shared)
php7_module (shared)
apreq_module (shared)



php.conf:

<IfModule mod_php7.c>

# Tell the PHP interpreter to handle files with a .php extension.

# Proxy declaration
<Proxy "fcgi://localhost/">

# we must declare a parameter in here (doesn't matter which) or it'll not
register the proxy ahead of time
ProxySet disablereuse=off
</Proxy>

# Redirect to the proxy
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>

</IfModule>

--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org