Tramite Apache è possibile abilitare la compressione dei contenuti prima che vengano inviati al cliente http (browser generalmente), tutto ciò tramite il modulo “mod_deflate”.
Per abilitare il modulo deflate è necessario eseguire il comando “a2enmod deflate” e riavviare il servizio apache.
Una cosa molto interessante è che questa funzionalità è fruibile anche nel caso venga configurato apache come reverse proxy semplicemente aggiungendo un paio di righe:
“AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript”
e
SetOutputFilter INFLATE;DEFLATE
La prima riga vi permette di specificare i contenuti che verranno compressi/decompressi nella request/response e la seconda all’interno del tag “location” dice di appllicare il mod_deflate ai contenuti che provengono dal vostro server.
di seguito un esempio di configurazione:
<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>