Through Apache it is possible to enable the compression of the contents before they are sent to the http client (browser generally), all this through the “mod_deflate” module.
To enable the deflate module you need to run the “a2enmod deflate” command and restart the apache service.
A very interesting thing is that this functionality is usable even if apache is configured as a reverse proxy by simply adding a couple of lines:
“AddOutputFilterByType DEFLATE text / html text / plain text / xml text / css text / javascript application / javascript”
and
SetOutputFilter INFLATE; DEFLATE
The first line allows you to specify the contents that will be compressed / decompressed in the request / response and the second one inside the “location” tag says to apply the mod_deflate to the contents that come from your server. below is an example of configuration:
<VirtualHost *:443>
ServerName yousitename.com
ServerAlias yousitename.com *.yousitename.com
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
SSLProxyEngine on
ProxyPass / https://192.168.xxx.xxx:18000/
ProxyPassReverse / https://192.168.xxx.xxx:18000/
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
#SSLProxyCheckPeerName off
#SSLProxyCheckPeerCN off
SSLProxyCheckPeerExpire off
<Location />
Order deny,allow
Allow from all
SetOutputFilter INFLATE;DEFLATE
</Location>
SSLEngine on
SSLCertificateFile /home/syna/ssl-yousitename.com/yousitename.com.crt
SSLCertificateKeyFile /home/syna/ssl-yousitename.com/yousitename.com.key
SSLCertificateChainFile /home/syna/ssl-yousitename.store/ca-bundle.crt
</VirtualHost>