Created
June 24, 2020 03:19
-
-
Save deshabhishek007/5015ab365f20fe7aae3d6fca9ddcbf59 to your computer and use it in GitHub Desktop.
Optimizing Apache2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### file to edit \usr\local\apache\conf.d\empty.conf | |
### Caching, compress and some security added thanks to https://www.gebruikers.eu | |
# Load mod_deflate.so only if it is not previously enabled, check httpd.conf for this. | |
# In my case it wasn't enabled. I prefer this empty.conf to load mod_deflate so my config survives updates and rebuilds. | |
LoadModule deflate_module modules/mod_deflate.so | |
<Location /> | |
# Insert filter | |
SetOutputFilter DEFLATE | |
# Netscape 4.x has some problems... | |
BrowserMatch ^Mozilla/4 gzip-only-text/html | |
# Netscape 4.06-4.08 have some more problems | |
BrowserMatch ^Mozilla/4\.0[678] no-gzip | |
# MSIE masquerades as Netscape, but it is fine | |
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html | |
# Don't compress images and other uncompressible content | |
SetEnvIfNoCase Request_URI \ | |
\.(?:gif|jpe?g|png|rar|zip|exe|flv|swf|mov|wma|mp3|mp4|avi|mp?g)$ no-gzip dont-vary | |
# Make sure proxies don't deliver the wrong content | |
Header append Vary User-Agent env=!dont-vary | |
</Location> | |
# BEGIN Compress text files | |
<ifModule mod_deflate.c> | |
AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain | |
AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml | |
AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml | |
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript application/json | |
AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf | |
AddOutputFilterByType DEFLATE font/truetype font/opentype | |
</ifModule> | |
# END Compress text files and caching | |
# BEGIN Expire headers https://samaxes.com/2011/05/improving-web-performance-with-apache-and-htaccess/ | |
<ifModule mod_expires.c> | |
ExpiresActive On | |
ExpiresDefault "access plus 5 seconds" | |
ExpiresByType text/html "access plus 1 second" | |
ExpiresByType text/css "access plus 1 week" | |
ExpiresByType text/javascript "access plus 1 week" | |
ExpiresByType application/javascript "access plus 1 week" | |
ExpiresByType application/pdf "access plus 1 month" | |
ExpiresByType application/x-javascript "access plus 1 week" | |
ExpiresByType application/x-shockwave-flash "access plus 1 month" | |
ExpiresByType application/xhtml+xml "access plus 1 second" | |
ExpiresByType image/gif "access plus 1 month" | |
ExpiresByType image/jpeg "access plus 1 month" | |
ExpiresByType image/png "access plus 1 month" | |
ExpiresByType image/x-icon "access plus 1 month" | |
</ifModule> | |
# END Expire headers | |
# BEGIN Cache-Control Headers | |
<ifModule mod_headers.c> | |
<filesMatch "\.(ico|jpe?g|png|gif|swf)$"> | |
Header set Cache-Control "public" | |
</filesMatch> | |
<filesMatch "\.(css)$"> | |
Header set Cache-Control "public" | |
</filesMatch> | |
<filesMatch "\.(js)$"> | |
Header set Cache-Control "private" | |
</filesMatch> | |
<filesMatch "\.(x?html?|php)$"> | |
Header set Cache-Control "private, must-revalidate" | |
</filesMatch> | |
</ifModule> | |
# END Cache-Control Headers | |
# BEGIN Turn ETags Off | |
FileETag None | |
# END Turn ETags Off | |
# Protection against malicious code in files imposing as images | |
#ForceType application/octet-stream | |
<FilesMatch "(?i).jpe?g$"> | |
ForceType image/jpeg | |
</FilesMatch> | |
<FilesMatch "(?i).gif$"> | |
ForceType image/gif | |
</FilesMatch> | |
<FilesMatch "(?i).png$"> | |
ForceType image/png | |
</FilesMatch> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment