Optimiser la vitesse et la sécurité d'un site avec mod_expires, mod_deflate et mod_headers
Petites modifications rapide à mettre en place.
On vérifie d'abord que les modules sont bien chargés :
apachectl -t -D DUMP_MODULES | grep '\\(expires\\|deflate\\|headers\\)'
Ce qui devrait vous donner :
deflate_module (shared) expires_module (shared) headers_module (shared)
Mod_Expires :
Créer un fichier expires.conf dans /etc/httpd/conf.d et mettez y ceci :
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 30 days" ExpiresByType image/jpg "access plus 30 days" ExpiresByType image/jpeg "access plus 30 days" ExpiresByType image/png "access plus 30 days" ExpiresByType image/x-icon "access plus 30 days" ExpiresByType text/css "access plus 30 days" ExpiresByType application/x-javascript "access plus 30 days" ExpiresByType text/javascript "access plus 30 days" ExpiresByType application/javascript "access plus 30 days" ExpiresByType image/ico "access plus 1 years" </IfModule>
Mod_Deflate :
Dans /etc/httpd/conf.d
Rajouter cette directive dans vos vhosts :
SetOutputFilter DEFLATE SetEnvIfNoCase Request_URI \\.(?:png)$ no-gzip dont-vary
Les fichiers png sont déjà compressés.
Mod_headers :
A ajouter dans votre fichier .conf vhost :
<IfModule mod_headers.c> Header always set X-FRAME-OPTIONS "DENY" Header set Content-Security-Policy "script-src 'self' http://www.votre-domaine.fr" Header always set X-XSS-Protection "1; mode=block" Header always set X-Content-Type-Options "nosniff" </IfModule>
Pour que tout soit prit en compte n'oubliez pas de faire un :
apachectl -t
Pour vérifier la config.
et un :
apachectl graceful
Pour valider les modifications.
Vous pouvez aussi désactiver les Etags :
Ajoutez cette directive à votre fichier de configuration httpd.conf :
Header unset ETag FileETag None