I have been able to enable mod_deflate on the outbound (server response)
portions of my request chain. However, what I want to do is enable mod_deflate
on incoming requests which actually inflates (unpacks) gzipped data. I believe
there may be a bug in the server logic when you mix mod_deflate + mod_proxy,
but am not quite sure what the chain of events SHOULD look like.
This works:
<VirtualHost _default_:5555>
ServerName test.com:5555
ErrorLog logs/test.com-error.log
CustomLog logs/test.com-access.log common
SSLEngine on
SSLCipherSuite ALL:!ADH:+HIGH:-MEDIUM:-LOW:-SSLv2:-EXP
SSLCertificateFile /var/www/keys/test.com.crt
SSLCertificateKeyFile /var/www/keys/test.com.key
SSLCertificateChainFile /var/www/keys/RapidSSL_CA_bundle.pem
# SetInputFilter DEFLATE
SetOutputFilter DEFLATE
SSLProxyEngine On
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / https://test.com:5443/
ProxyPassReverse / https://test.com:5443/
</VirtualHost>
However, uncommenting out the "SetInputFilter DEFLATE" line, followed by
modifying my client to submit gzip posts as gzipped data (including setting
Content-Encoding to gzip) result in this error message:
[Tue Oct 23 15:36:38 2012] [error] (20014)Internal error: proxy: prefetch
request body failed to 192.168.1.2:5443 (test.com) from 135.xxx.xxx.xxx ()
Why all of a sudden is the proxy trying to perform a prefetch of the request?
What needs to change about my request/HTTP headers/format to prevent this?
I've tried not setting Content-Length, setting Content-Length to the original
unpacked bytes length, setting Content-Length to the gzipped byte length. I've
also scoured the internet and found complaints such as
https://issues.apache.org/bugzilla/show_bug.cgi?id=44592 which is resolved by
"SetEnv proxy-sendcl 1". I've tried that to no avail.
Any help/ideas?
Thanks,
Zach Calvert
-------------------------
Zach Calvert
Senior Developer
(817) 614-8938