mod_cluster not passing on multipart to POST multipart resource
hielkehoeve Apr 30, 2014 5:03 AMWhile we are using Wildfly more seriously we are encountering some more deep problems. One serious is the fact that one of our REST resources is not receiving a MultipartInput. (This request worked with JBoss AS7)
Client:
curl -F "file=@source.zip;filename=file;type=application/zip" https://rest.product.nl/product/rest/v1/import
What we have seen is that Apache is receiving the request and proxy_ajp is passing on the request, but it is only reading 139 bytes of data. Once in Undertow we see that the request is handled as expected, the requests throws a HTTP 500 because the file is empty.
I have set all logging parameters (manager.conf, virtual host, apache2.conf) I know to DEBUG. Is there any way to get more logging than the mere 5 lines?
Our setup is Apache 2.4.6, mod_cluster 1.3.0.Final, Wildfly 8.1.0.Final-SNAPSHOT.
Resource:
@POST @Path("file") @Consumes("multipart/*") public Response file(MultipartInput form);
Apache log:
[Tue Apr 29 15:45:14.513470 2014] [proxy:debug] [pid 22000:tid 139681110939392] proxy_util.c(2194): [client <ip>:64403] AH00947: connected /product/rest/v1/import <ip>:8009 [Tue Apr 29 15:45:14.522002 2014] [proxy_ajp:debug] [pid 22000:tid 139681110939392] mod_proxy_ajp.c(273): [client <ip>:64403] AH00873: data to read (max 8186 at 4) [Tue Apr 29 15:45:14.522015 2014] [proxy_ajp:debug] [pid 22000:tid 139681110939392] mod_proxy_ajp.c(287): [client <ip>:64403] AH00875: got 139 bytes of data [Tue Apr 29 15:45:14.531526 2014] [proxy_ajp:error] [pid 22000:tid 139681110939392] [client <ip>:64403] AH00992: ajp_read_header: ajp_ilink_receive failed [Tue Apr 29 15:45:14.531533 2014] [proxy_ajp:error] [pid 22000:tid 139681110939392] (120006)APR does not understand this error code: [client <ip>:64403] AH00878: read response failed from (null) (<ip>)
/etc/apache2/mods-enabled/manager.conf:
CreateBalancers 1 Maxhost 50 AllowDisplay On UseAlias 1 MemManagerFile /var/log/apache2/mod_manager PersistSlots On ReduceDisplay On <IfModule manager_module> Listen <ip>:8888 ManagerBalancerName balancer <VirtualHost <ip>:8888> KeepAliveTimeout 300 MaxKeepAliveRequests 0 EnableMCPMReceive <Location /> Order deny,allow Require all granted </Location> LogLevel debug </VirtualHost> </IfModule>
/etc/apache2/sites-enabled/rest.product.nl.conf:
<VirtualHost *:443> ServerName rest.product.nl ErrorLog /var/log/apache2/rest.product.nl-ssl_error_log TransferLog /var/log/apache2/rest.product.nl-ssl_access_log LogLevel debug SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW SSLCertificateFile /etc/ssl/certs/wild.product.nl.pem SSLCertificateKeyFile /etc/ssl/private/wild.product.nl.key SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog /var/log/apache2/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" KeepAliveTimeout 60 MaxKeepAliveRequests 0 ProxyPass / balancer://product stickysession=JSESSIONID|jsessionid nofailover=On ProxyPassReverse / balancer://product/ ProxyPreserveHost On <Location /> Order deny,allow Allow from All </Location> </VirtualHost>