Configuring mod_pagespeed_examples
mod_pagespeed ships with a directory of sample HTML, JavaScript, Image, and CSS files to demonstrate the rewrite passes that it executes. These also form the basis of an installation smoke-test to ensure that the configured system is operating correctly. Assuming the files are installed in /var/www/mod_pagespeed_example, the following configuration file fragment will enable them to be served using reasonable caching headers.
# These caching headers are set up for the mod_pagespeed example, and
# also serve as a demonstration of good values to set for the entire
# site, if it is to be optimized by mod_pagespeed.
<Directory /var/www/mod_pagespeed_example>
# To enable to show that mod_pagespeed to rewrites web pages, we must
# turn off Etags for HTML files and eliminate caching altogether.
# mod_pagespeed should rewrite HTML files each time they are served.
# The first time mod_pagespeed sees an HTML file, it may not optimize
# it fully. It will optimize better after the second view. Caching
# defeats this behavior.
<FilesMatch "\.(html|htm)$">
Header unset Etag
Header set Cache-control "max-age=0, no-cache, no-store"
</FilesMatch>
# Images, styles, and JavaScript are all cache-extended for
# a year by rewriting URLs to include a content hash.. mod_pagespeed,
# can only do this if the resources are cacheable in the first place.
# The origin caching policy, set here to 10 minutes, dictates how
# frequently mod_pagespeed must re-read the content files and recompute
# the content-hash. As long as the content doesn't actually change,
# the content-hash will remain the same, and the resources stored
# in browser caches will stay relevant.
<FilesMatch "\.(jpg|jpeg|gif|png|js|css)$">
Header unset Etag
Header set Cache-control "public, max-age=600"
</FilesMatch>
</Directory>Trying out mod_pagespeed using mod_proxy
Ideally, you will experiment with mod_pagespeed on an Apache server that is already serving its own content. However, to experiment with mod_pagespeed on an Apache server that does not serve its own content, you can set up Apache as proxy:
# Proxy configuration file to enable mod_pagespeed to rewrite external
# content. In this configuration we use assume a browser proxy,
# pointing to HOSTNAME:80.
LoadModule proxy_module /etc/apache2/modules/mod_proxy.so
# Depends: proxy
LoadModule proxy_http_module /etc/apache2/modules/mod_proxy_http.so
<IfModule mod_proxy.c>
ProxyRequests On
ProxyVia On
# limit connections to LAN clients
<Proxy *>
AddDefaultCharset off
Order Deny,Allow
Allow from all
</Proxy>
ProxyPreserveHost On
ProxyStatus On
ProxyBadHeader Ignore
# Enable/disable the handling of HTTP/1.1 "Via:" headers.
# ("Full" adds the server version; "Block" removes all outgoing Via: headers)
# Set to one of: Off | On | Full | Block
ProxyVia On
</IfModule>Set the browser proxy to point to that proxy server, and you will then be able to view any Internet site rewritten by Apache and mod_pagespeed.
No comments:
Post a Comment